线上nginx_cache服务器nginx.conf文件详解

#使用的用户和组
user www www。
#指定工作衍生进程数(一般等于cpu的总核数或总核数的两倍,例如两个四核cpu,则总核数为8)
worker_processes 4;
#指定错误日志存放的路径,错误日志记录级别可选项为:[调试| | | |错误警告信息|通知暴击)
error_log /usr/local/nginx/logs/nginx_error.log 暴击;
#指定pid存放的路径
pid ,,,,,,/usr/local/nginx/logs/nginx.pid;
#指定进程可以打开的最大描述符:数目
#工作模式与连接数上限
#这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit - n)与nginx进程数相除,但是nginx分配亲求并不是那么均匀,所以最好与ulimit - n的值保持一致。
#现在在linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应填写65535。这是因为nginx调度时分配请求道进程并不是那么的均衡,所以假如填写10240,总并发量达到3 - 4万时就有进程可能超过10240了,这时会返回502错误。
worker_rlimit_nofile 65535;


事件{
#使用的网络I/O模型,Linux系统推荐采用epoll模型,FreeBSD系统推荐采用kqueue模型
,,,使用epoll;
,,,multi_accept;
#单个进程最大连接数(最大连接数=连接数*进程数)
#根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就行,每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数为
,,,worker_connections 65535;
}

http
{
#文件扩展名与文件类型映射表
,,,include ,,,,,mime.types;
#默认文件类型
,,,default_type 应用程序/八进制;
#设置使用的字符集,如果一个网站有多种字符集,请不要随便设置,应让程序员在HTML代码中通过元标签设置(默认编码)
,,,# charset utf - 8;
,,,server_names_hash_bucket_size 128;
,,,client_header_buffer_size 32 k。
#客户端请求头部的缓冲区大小,这个可以根据你的系统分页大小来设置,一般请求头的大小不会超过1 k,不过由于一般系统分页都要大于1 k,所以这里设置为分页大小。
#分页大小可以用命令getconf页大小取得。
#但也有client_header_buffer_size该值必须设置为“系统分页大小”的整倍数。
,,,client_body_buffer_size 512 k;
#客户请求头缓存大小。nginx默认会用client_header_buffer_size这个缓冲区来读取头值,如果头过大,它会使用large_client_header_buffers来读取。
,,,large_client_header_buffers 4 32 k;
#设置客户端能够上传的文件大小(设定通过nginx上传文件的大小)
,,,client_max_body_size 300;

#开启高效文件传输模式,sendfile指令nginx是否调用sendfile函数来输出文件,对于普通应用设为,如果用来进行下载等应用磁盘IO重负载应用,可设置为,以平衡磁盘与网络IO处理速度,降低系统的正常运行时间。
,,,sendfile;
#此选项允许或静止使用socke的TCP,软木塞的选项,此选项仅在使用sendfile的时候使用
,,,tcp_nopush ,,,,
,,,tcp_nodelay;
,,,server_tokens;

,,,keepalive_timeout 60;# keepalive超时时间,单位为秒。
,,,client_header_timeout 15;
,,,client_body_timeout 15;
,,,send_timeout 15;

#后端服务器连接的超时时间_发起握手到等候响应超时时间
# nginx跟后端服务器连接超时时间(代理连接超时)
,,,proxy_connect_timeout ,,180;
#连接成功后,后端服务器响应时间(代理接收超时)
#连接成功_等候后端服务器响应时间,其实已经进入后端的配对之中等候处理(也可以说是后端服务器处理请求的时间)
,,,proxy_read_timeout ,,,,,
# 180;后端服务器数据回传时间(代理发送超时)
#后端服务器数据回传时间,就是在规定时间之内后端服务器必须传完所有的数据
,,,proxy_send_timeout ,,,,,180;
#设置代理服务器(nginx)保存用户头信息的缓存区大小
#设置从被代理服务器读取的第一部分应答的缓冲区大小通常情况下这部分应答中包含
#一个小的应答头,默认情况下这个值得大小为指令proxy_buffers中指定的一个缓冲区的大小,不过可以将其设置为更小
,,,proxy_buffer_size ,,,,,,16 k;
# proxy_buffers缓冲区,网页平均在32 k以下的设置
#设置用于读取应答(来自被代理服务器)的缓冲区数目和大小,默认情况也为分页大小,根据操作系统的不同可能是4 k或者8 k
,,,proxy_buffers ,,,,,,,,,,4 64 k;
#高负荷下缓冲大小(proxy_buffers * 2)
,,,proxy_busy_buffers_size 128 k;
#设置在写入proxy_temp_path时数据的大小,预防一个工作进程在传递文件时阻塞太长

线上nginx_cache服务器nginx.conf文件详解