参数 | 备注 |
---|---|
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”) |
转载于:https://blog.51cto.com/wenxi123/2345927