nginx 负载均衡配置基本配置

在这里插入图片描述
nginx负载均衡配置,主要包含两部分,一部分是对监听器(server模块)的配置,另一部分是对后端server池(upstream模块)的配置。

1、nginx单server配置

准备3个后端server
例:192.168.100.204 为负载均衡server
        192.168.100.203和192.168.100.220为后端server
打开192.168.100.204的nginx.conf,文件位置在nginx安装目录的conf目录下。
在http段加入以下代码

http {
    include       mime.types;
    default_type  application/octet-stream;
    #access_log  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
    
    //负载服务器池  负载均衡有5中策略,默认为“轮询“策略。常见的还有“权重”,“ip_hash”等。
    upstream server_pool {
           server 192.168.100.203:8080;
           server 192.168.100.220:8080;
    }
     //访问负载均衡server时,请求会根据配置的策略分散发到upstream内配置的server上
    server {
        listen 80; //监听端口,默认为80端口。
        server_name localhost;

        location / {
            proxy_pass http://server_pool;     //访问转移到哪个upstream,http://对应upstream的名称
            proxy_set_header Host $host;       //重新设置请求头为要转发的后端server的端口号
            proxy_set_header X-Real-IP $remote_addr;      //$remote_addr的值为客户端的ip
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;       //CDN的ip和客户端的ip
          
            root   html;
            index  index.html index.htm;
        }
    }
}

配置完成后启动nginx,访问负载均衡server(192.168.100.204:80) 如果根据策略访问配置的后端server(192.168.100.203:8080 和 192.168.100.220:8080)的html页面,则配置成功

2、nginx支持多server配置

 upstream www_server_pool1 {
        server 192.168.100.203;
    }
 upstream www_server_pool2 {
        server 192.168.100.220;
    }
 server {   //虚拟主机1
        listen       192.168.100.204:803;
        server_name  _;
        location / {
            proxy_pass        http://www_server_pool1;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
    }
 server {   //虚拟主机2
        listen       10.10.10.189:801;
        server_name  _;
        location / {
            proxy_pass        http://www_server_pool2;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
    }

猜你喜欢

转载自blog.csdn.net/liucy007/article/details/86715164