1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| user www www; #定义Nginx运行的用户和用户组
worker_processes auto; #nginx进程数,建议设置为等于CPU总核心数,这里auto为自动调整的意思
worker_cpu_affinity auto; #对于具有多颗CPU的服务器,Nginx通过设置worker_cpu_affinity参数,即可轻松实现控制进程平均分配到多颗CPU上
error_log logs/error.log; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
google_perftools_profiles /tmp/tcmalloc; #gperftools优化nginx
worker_rlimit_nofile 102400; #每个nginx进程打开文件描述符最大数目 配置要和系统的单进程打开文件数一致,linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535,nginx调度时分配请求到进程并不是那么的均衡,假如超过会返回502错误。可以把数值写大一点。
pid /usr/local/nginx/nginx.pid; # events { use epoll; worker_connections 102400; }
http { include mime.types; #文件扩展名与文件类型映射表 default_type application/octet-stream; #默认文件类型 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; server_names_hash_bucket_size 128; #服务器名字的哈希(hash)表大小 client_header_buffer_size 32k; #上传文件大小限制 large_client_header_buffers 4 32k; #设定请求缓 client_max_body_size 300m; #设定请求缓 sendfile on; #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。 proxy_ignore_client_abort on; # 告诉nginx不要主动关闭连接 tcp_nopush on; #启用后数据包不会马上传送出去,等到数据包最大时,一次性的传输出去,这样有助于解决网络堵塞 proxy_connect_timeout 500; #nginx跟后端服务器连接超时时间(代理连接超时) proxy_send_timeout 600; #后端服务器数据回传时间(代理发送超时) proxy_read_timeout 500; #连接成功后,后端服务器响应时间(代理接收超时) proxy_buffer_size 16k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小 proxy_buffers 4 64k; #proxy_buffers缓冲区,网页平均在32k以下的设置 proxy_busy_buffers_size 128k; #高负荷下缓冲大小(proxy_buffers*2) proxy_temp_file_write_size 128k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传 keepalive_timeout 10; #设置客户端连接保存活动的超时时间 设置为多少,要看网站的流量、服务器的配置而定。 因为设置太短,就会频繁的连接,消耗过多的资源,如果连接时间过长,就会有很多没用连接来占用服务器资源。 client_header_timeout 10; #用于设置客户端请求读取超时时间 client_body_timeout 10; #用于设置客户端请求主体读取超时时间 send_timeout 10; #用于设置相应客户端的超时时间 tcp_nodelay on; server_tag off; #隐藏server头部 server_info off; #错误信息 server_tokens off; #隐藏nginx的版本号 gzip on; #开启gzip压缩 gzip_min_length 1k; #设置允许压缩的页面最小字节数 gzip_buffers 4 16k; #申请4个单位为16K的内存作为压缩结果流缓存 gzip_http_version 1.1; #设置识别http协议的版本,默认是1.1 gzip_comp_level 2; #指定gzip压缩比,1-9 数字越小,压缩比越小,速度越快. gzip_types text/plain application/x-javascript text/css application/xml application/json; #指定压缩的类型 gzip_vary on; #让前端的缓存服务器存经过gzip压缩的页面 gzip_disable "MSIE [1-6]."; #意思就是在ie1-ie6环境下禁用gzip server { listen 84; server_name _; location / { stub_status on; access_log off; } } upstream tomcat { server 127.0.0.1:8080; check interval=3000 rise=2 fall=5 timeout=1000 type=http; check_http_send "GET /favicon.ico HTTP/1.0\r\n\r\n"; check_http_expect_alive http_2xx http_3xx; } include vhost/*.conf; }
|