配置、调优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服务。