Nginx是一个高性能的Web和反向代理服务器,有很多优越的特性。在高并发的情况下nginx的一些默认参数并不适用。下面介绍一下nginx优化的几个方面
1.配置线程数和并发数
worker_processes 4; #cpu 进程数
events {
worker_connections 10240; #每个进程打开的最大连接数,包含了nginx与客户端和nginx与upstream之间的连接
multi_accept on; #可以一次建立多个连接
use epoll;
}
2.配置后端server的长连接
upstream server_pool {
server localhost:8080 weight=1 max_fails=2 fail_timeout=30s;
server localhost:8081 weight=1 max_fails=2 fail_timeout=30s;
keepalive 300; #300个长连接
}
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_pass http://server_pool/;
}
3.配置压缩
gzip on;
gizp_http_version 1.1;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
gzip_proxied any;
gzip_types text/plain text/css application/javascript application/x-javascript application/json application/xml
application/vnd.ms-fontobject application/x-font-ttf application/svg + xml application/x-icon;
gzip_vary on; #Vary: Accept-Encoding
gzip_static on; # 如果有压缩好的 直接使用