nginx
一、nginx的功能与特性。
1.基本功能:
实现与服务静态文件(静态资源的web服务器),能缓存打开的文件描述符
反向代理服务器,缓存、负载均衡、健康状态检测
支持FastCGI
模块化机制,非DSO机制,支持多种过滤器gzip,SSI和图像的模块完成图形大小调整等
支持SSL
2.扩展功能:
基于名称和IP做虚拟主机
支持keeplive
支持平滑配置更新或程序版本升级
定制访问日志,支持使用日志缓存以提高性能
支持URL rewrite
支持路径别名
支持基于IP及用户的认证
支持速率限制,并发数限制等
二、安装nginx
1.安装编译pcre
下载链接:wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
2.安装编译nginx,注意指定pcre地址
下载地址:wget http://nginx.org/download/nginx-1.6.2.tar.gz
四、niginx模块
1.核心模块
2.http标准模块
3.可选http模块
4.邮件模块
5.第三方扩展模块
五、nginx配置
1.配置分段
2.配置分类
①正常运行必备配置
user user group ;
定义运行nginx的用户和用户组
pid /usr/local/nginx/logs/nginx.pid;
PID进程文件
worker_rllimit_nofile 65535;
指定worker进程最大打开的文件描述符个数
worker_rllimit_sigpending;
设定每个用户能够发往worker进程的信号数量
②优化性能配置
worker_processes 2;
设定nginxworker进程数,一般是小于cpu核心数1
worker_cpu_affinity
设定nginx绑定的cpu个数
ssl_engine device
存在ssl硬件加速器服务器上,指定所使用的ssl加速器设备
timer_resolution t
设定nginx时间更新机制
worker_priorty nice;
设定进程优先级
③事件类配置
accept_mutex [on|off]
是否打开nginx负载均衡锁
lock_file /path/to/lock_file
lock文件位置
accept_mutex_delay #ms;
worker取得accept锁等待时长
multi_accept [on|off]
是否允许一次性相应多个用户请求,默认off
use [epoll|rtsig|select|poll]
定义nginx的世间模型,默认epoll
worker_connections #;
定义worker进程并发的最大连接数
④用于调试和定位问题配置
daemon on|off
是否将信息输出到后台,默认问on,调试的时候可以off,这样信息会直接输出到控制台
mater_porcesses
是否启用master进程,默认为on,调试的时候可以off,这样就会只启动worker,方便追踪
error_log /pach/to/log level(info|debug)
设定错误日志级别,调试时候可以使用debug,但是要编译时候有--with-debug,启用debug功能。
· ⑤用于http的配置
注意:http段必须使用虚拟主机,也就是必须使用server{ } 段来配置,可以有多个server,每个server有多个location,非server段可以放在server之外的公共区域
server :定于虚拟主机
listen :定义监听
default_server :定义这个server为http中默认server,如果所有server中没有任何listen使用此参数,那么第一个server就是默认。
server_name :配置域名
index :配置主页
root :站点目录
error_page :定义错误页面从定向
index :定义主页
try_files :尝试从左向右找寻页面,如果没有找到就返回最后一个路径页面。
⑥网络相关设置
keepalive_timeout time :保持连接的超时时长,默认75s
keepalive_requests :再一次长连接上允许承载的最大请求数
keepalive_disble :对指定浏览器禁用长连接
tcp_nodelay on |off :是否对keepalive使用tcp_nodelay选项
client_header_timeout time :读取http首部超时时长
client_body_timeout time:读取http请求包体的超时时间
save_timeout time;发送响应的超时时长
其他:
rewrit :地址重写,地址重定向
标记:
last:立即停止重写,并以重写后的内容在发起请求,在进行重写扫描
break:立即停止重写,并直接访问,一般用break‘
proxy_pass
fasfcgi_pass
扩展:
HTTPD的常见方法
安全方法:
GET、HEAD
其他方法:
PUT
POST
DELETE
OPTION
TRACE