参数 备注
http版本 1.1(默认开启长连接)
user www-data;  worker进程运行用户为www-data;
worker_processes 16;  nginx进程开启后,16个worker进程处理请求;
pid /run/nginx.pid; 指定nginx守护进程的pid文件;

worker_connections 10240;

单个worker进程能打开的最大并发连接数;

multi_accept on;

收到一个新链接后,接受尽可能多的链接;

worker_rlimit_nofile 100000;

所有worker进程能打开的最大文件句柄数;

sendfile on;

优化磁盘IO设置,指定nginx是否调用sendfile函数来输出文件(普通应用设为on,下载等磁盘IO高的应用,可设为off);

tcp_nopush on;

默认值off,只有在sendifle中启用;调用tcp_cork方法,数据包不会马上传递出去,等到数据包到达一定大小后,一次性的传输出去,有助于解决网络堵塞;

tcp_nodelay on;

默认是on,Only included in keep-alive connections.使缓冲区的数据立即发送出去;设置为on时容易发生那个网络拥塞,禁用了Nagle算法(不需要等待0.2s);

keepalive_timeout 30;

长连接的超时时间,nginx和客户端的连接超时时间,默认为75s

types_hash_max_size 2048;

影响散列表的冲突率 值越大,消耗更多的内存,但散列key的冲突率会降低,检索速度就更快;值越小,消耗的内存就越小,但散列key的冲突率可能上升;

server_tokens off;

关闭错误页面的版本号;

default_type application/octet-stream;

设置文件使用默认的mine-type;

gzip on;

启用gzip,对响应数据进行在线实压缩,减少数据传输量;

gzip_disable "msie6";

对IE6浏览器的数据不进行gzip压缩;

gzip_vary on;

用于设置在使用Gzip功能时是否发送带有“Vary:Accept-Encoding”头域的响应头部,该头域的主要功能是告诉接收方发送的数据经过了压缩处理,开启后端效果是在响应头部Accept-Encoding: gzip,对于本身不支持Gzip的压缩的客户端浏览器是有用的;

gzip_proxied any;

允许或禁止压缩基于请求和相应的响应流,any代表压缩所有请求;

gzip_comp_level 6;

设置数据压缩等级,1-9之间,9最慢压缩比最大;

gzip_buffers 16 8k;

设置gzip压缩使用存储空间的大小,nginx服务器向系统申请16个存储空间来缓存压缩数据,每个缓存空间大小为8K;getconf PAGESIZE来获取,应为4K;

gzip_http_version 1.0;

默认为1.1;解决Nginx启用gzip所需的最低版本为http1.0;

gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml;

Nginx服务器设置需要压缩的数据格式;

ssl_session_timeout 1d;

客户端可以重用会话参数的时间;超过一天后不可使用;

ssl_session_cache           shared:SSL:50m;

缓存在所有工作进程之间共享,缓存大小,按照字节为单位指定,1M可以存储4000个会话;

resolver_timeout

域名解析的超时时间10s,默认30s;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

http站点强制通信协议;

client_max_body_size 1M;/50M; 不同的location不一样;

默认为1M;限制请求体的大小,若超过所设定的大小,返回413错误;

proxy_connect_timeout 3; /2 ; 不同的locaiont不一样;

默认为60s,指定nginx与后端server的连接超时时间,这个超时时间不能超过75s;发起握手等候响应的超时花时间;


其余为默认值

proxy_read_timeout 默认为60s,决定了nginx会等待多久来获得请求的响应,并非获取整个response的时间;也可以说是后端服务器处理请求的时间;
proxy_send_timeout 默认为60s,后端服务器数据回传时间——就是在规定时间之内,后端服务器必须传完所有的数据;
proxy_upstream_fail_timeout 默认为10s,设置了某一个upstream后端失败了指定次数(max_fails)后,该后端不可操作的时间,默认是10s
client_header_timeout 默认为60s,指定等待client发送一个请求头的超时时间(例如:GET / HTTP/1.1).仅当在一次read中,没有收到请求头,才会算成超时。如果在超时时间内,client没发送任何东西,nginx返回HTTP状态码408(“Request timed out”)
client_body_timeout 默认为60s,设置请求体(request body)的读超时时间。仅当在一次readstep中,没有得到请求体,就会设为超时。超时后,nginx返回HTTP状态码408(“Request timed out”)