nginx 详解

解析 Nginx核心配置文件 nginx.conf

下面配置文件中的几个关键点:

(1)进程数与每个进程的最大连接数

#工作进程个数,一般跟服务器cpu核数相等,或者核数的两倍
worker_processes 2;

#单个进程最大连接数
events{
    worker_connections 1024; 
}

① nginx进程数,建议设置为和服务器cpu核数相等,或者是核数的两倍

② 单个进程最大连接数,该服务器的最大连接数=连接数*进程数; 
服务器支持最大并发数=(连接数*进程数) /2 ,因为反向代理是双向的。

(2)Nginx的基本配置

#nginx基本配置
server{
    listen 8088;    #端口号
    server_name 192.168.22.227; #服务名
}

① 监听端口一般都为http端口:80;可以修改为其他,这里修改为8088。

② server_name :默认为localhost ,这里修改为服务器ip地址。

(3)负载均衡列表基本配置

    #服务器集群
    upstream mycluster{
        #这里添加的是上面启动好的两台Tomcat服务器
         server 192.168.22.229:8080 weight=1;
         server 192.168.22.230:8080 weight=1;
    }

location /{
        #将访问请求转向至服务器集群,mycluster和上面upstream mycluster 对应
        proxy_pass http://mycluster;
        # 真实的客户端IP
        proxy_set_header   X-Real-IP        $remote_addr; 
        # 请求头中Host信息
        proxy_set_header   Host             $host; 
        # 代理路由信息,此处取IP有安全隐患
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        # 真实的用户访问协议
        proxy_set_header   X-Forwarded-Proto $scheme;
    }

① location / {}:负载均衡访问的请求,可以添加筛选,假如我们要对所有的jsp后缀的文件进行负载均衡时,可以这样写:location ~ .*.jsp$ {}

② proxy_pass:请求转向自定义的服务器列表,这里我们将请求都转向标识为http://mycluster 的负载均衡服务器列表;

③ 在负载均衡服务器列表的配置中,Server指令:指定服务器的ip地址,weight是权重,可以根据机器配置定义权重(如果某台服务器的硬件配置十分好,可以处理更多的请求,那么可以为其设置一个比较高的weight;而有一台的服务器的硬件配置比较差,那么可以将前一台的weight配置为weight=2,后一台差的配置为weight=1)。weigth参数表示权值,权值越高被访问到的几率越大;

(四)完整的配置文件示例

user nobody;
#工作进程个数,一般跟服务器cpu核数相等,或者核数的两倍
worker_processes 2;

#单个进程最大连接数
events{
    worker_connections 1024; 
}

http{

    keepalive_timeout 65;
    gzip on;
    #服务器集群
    upstream mycluster{
         #集群有几台服务器即可配置几台,weight表示权重,权重越大被访问到的几率越大
        #这里添加的是上面启动好的两台Tomcat服务器
         server 192.168.22.229:8080 weight=1;
         server 192.168.22.230:8080 weight=1;
    }

    #nginx基本配置
    server{
        listen 8088;    #端口号
        server_name 192.168.22.227; #服务名
        location /{
            #将访问请求转向至服务器集群,mycluster和上面upstream mycluster 对应
            proxy_pass http://mycluster;
            # 真实的客户端IP
            proxy_set_header   X-Real-IP        $remote_addr; 
            # 请求头中Host信息
            proxy_set_header   Host             $host; 
            # 代理路由信息,此处取IP有安全隐患
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            # 真实的用户访问协议
            proxy_set_header   X-Forwarded-Proto $scheme;
        }

        error_page   500 502 503 504  /50x.html;  
        location = /50x.html {  
            root   html;  
        }  

    }
}


以上只是最基本的Nginx配置

原文地址:https://www.cnblogs.com/yzf666/p/9681858.html