user username groupname
运行用户及用户组html
worker_processes auto
启动进程,一般设置成和cpu数量相等的一个数值,默认为1。能够设置为auto,这样nginx会自动根据本机的cpu内核数生成对应数量的worker进程。能够经过lscpu命令肯定可用的核心数。nginx
pid log/nginx.pid
进程pid的存放位置后端
error_log log/error.log warn; error_log log/info.log info;
设置日志打印位置服务器
server_tokens off
隐藏版本号代理
events { worker_connections 4096; }
events模块包含了nginx有关链接处理的配置。日志
worker_connections 4096
一个worker可以同时打开的最大链接数,该值最大为workerrlimitnofile的值code
在nginx做为http服务器时,最大链接数为workerprocesses * workerconnectionsserver
在nginx做为反向代理服务器时,最大链接数为workerprocesses*workerconnections/2htm
请求缓冲区在NGINX请求处理中起着重要做用。 在接收到请求时,NGINX将其写入这些缓冲区。 这些缓冲区中的数据可做为NGINX变量使用,例如$request_body。 若是缓冲区与请求大小相比较小,则数据将写入磁盘上的文件,所以将涉及I/O操做。 NGINX提供了能够改变请求缓冲区的各类指令。blog
client_header_buffer_size 8k
它为请求头分配一个缓冲区。 若是请求头大小大于指定的缓冲区,则使用largeclientheader_buffers指令分配更大的缓冲区。
client_max_body_size 130m
此指令设置NGINX能处理的最大请求主体大小。 若是请求大于指定的大小,则NGINX发回HTTP 413(Request Entity too large)错误。 若是服务器处理大文件上传,则该指令很是重要。
proxy_buffer_size 64k
1 解决后端服务传输数据过多,实际上是header过大的问题,参考博客
2 后端服务器的相应头会放到proxybuffersize当中,这个大小默认等于proxybuffers当中的设置单个缓冲区的大小。 proxybuffersize只是响应头的缓冲区,没有必要也跟着设置太大。 proxybuffer_size最好单独设置,通常设置个4k就够了。
proxy_buffers 8 64k
1 若某些请求的响应过大,则超过buffers的部分将被缓冲到硬盘(缓冲目录由temppath指令指定), 固然这将会使读取响应的速度减慢, 影响用户体验. 可使用proxymaxtempfile_size指令关闭磁盘缓冲
2 proxybuffers的缓冲区大小通常会设置的比较大,以应付大网页。 proxybuffers当中单个缓冲区的大小是由系统的内存页面大小决定的,Linux系统中通常为4k。 proxy_buffers由缓冲区数量和缓冲区大小组成的。总的大小为number*size