配置、调优Nginx
执行编辑命令,vi /usr/local/nginx/conf/nginx.conf
找到对应的参数进行修改,默认参数中没有的话需要手动添加进去,没有提及到的可保留默认设置,具体的配置如下所示:
全局项:
worker_processes 6;
worker_cpu_affinity 000001 000010 000100 001000 010000 100000;
worker_rlimit_nofile 65535;
events {
use epoll;
multi_accept on;
worker_connections 65535;
}
http体:
access_log off;
server_names_hash_max_size 2048;
server_names_hash_bucket_size 2048;
sendfile off;
tcp_nopush on;
tcp_nodelay on;
send_timeout 60;
reset_timedout_connection on;
keepalive_timeout 1800;
fastcgi_connect_timeout 600;
fastcgi_send_timeout 600;
fastcgi_read_timeout 600;
fastcgi_buffer_size 1024k;
fastcgi_buffers 4 1024k;
fastcgi_busy_buffers_size 2048k;
fastcgi_temp_file_write_size 2048k;
#gzip on;
upstream site {
server 192.168.1.222:8080;
server 192.168.1.222:8081;
ip_hash;
keepalive 300;
}
server {
listen 8088;
server_name localhost;
location / {
proxy_pass http://site;
proxy_set_header Connection "keep-alive";
proxy_http_version 1.1;
proxy_headers_hash_max_size 51200;
proxy_headers_hash_bucket_size 6400;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
client_max_body_size 10m;
client_body_buffer_size 10240k;
proxy_connect_timeout 120;
proxy_send_timeout 180;
proxy_read_timeout 180;
proxy_buffer_size 1024k;
proxy_buffers 4 1024k;
proxy_busy_buffers_size 2048k;
}
}
备注:upstream site的负载均衡的反向代理的服务器IP和WBS的监听端口要根据实际情况设置,把所有的集群WBS的服务器IP和WBS监听端口都罗列上去,以上输入的IP和端口为举例说明,其中子节点端口与代码端口须要一致。
其中ip_hash; 不要漏掉了,因为这个管理session的会话的
参数介绍:
worker_processes 6 即为nginx启动时的nginx进程数,建议设置为服务器的cpu cores数。可以使用cat /proc/cpuinfo查看cpu cores是多少就代表CPU有多少核。
(设置的cpu的核数不能超过worker_processes 的数量)
worker_rlimit_nofile 65535 表示一个nginx进程打开的最多文件描述符数目,建议与ulimit -n的值保持一致。
use epoll使用高性能网络I/O模型。
multi_accept on让一个worker进程最大限度的接收连接。
worker_connections 65535表示单个进程最大连接数,设置为上线的最大连接数65535,建议与ulimit –n的查询结果保持一致。
tcp_nopush on告诉 Nginx 在一个数据包里发送所有头文件,而不一个接一个的发送可以防止网络阻塞
tcp_nodelay on告诉 Nginx 不要缓存数据,而是一段一段的发送--当需要及时发送数据时,就可以设置这个属性
keepalive_timeout 1800 前端长连接接入Nginx时,连接的超时时间,单位是秒
upstream表示为负载均衡,upstream内均为集群服务端
listen 8088即为Nginx监听的端口为8088
location / 表示对对 "/" 启用反向代理
proxy_pass 反向代理的目的地址
保存后使用 /usr/local/nginx/sbin/nginx -t 检测配置是否全部正确,查看到如下信息,表明配置项成功(反之则表示配置文件配置有误),则可以使用 /usr/local/nginx/sbin/nginx 命令启动nginx服务。