nginx配置之负载均衡

nginx负载均衡

    nginx代理机分发到多台同一项目的服务机

      负载均衡器代理机配置:nginx.conf的http{}:        

          #代理池,运行在不同服务机的程序

           upstream loadtest{

             server 192.168.160.132:8001; 

            server 192.168.160.133:8001; 

          }  

          server { 

            listen 80 default_server; 

            server_name _;

             location / { 

              #root /opt/html; 

              #index index.html; 

              #proxy_pass http://192.168.160.132:80; 

              proxy_pass http://loadtest;  

            } 

           } 

    location{}中还可以设置include proxy_params; #需要手动创建,文件中存放代理的请求头相关参数:            

            [root@lb01 conf]# cat /opt/nginx/conf/proxy_params

              proxy_set_header Host $http_host;

              proxy_set_header X-Real-IP $remote_addr;

              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

              proxy_connect_timeout 30;

              proxy_send_timeout 60;

              proxy_read_timeout 60; 

              proxy_buffering on;

              proxy_buffer_size 32k;

              proxy_buffers 4 128k;

          多台服务机--------------正常配置,注意防火墙

nginx负载均衡算法

   ①轮询:按时间顺序逐一分配到不同的后端服务器(默认)        

          upstream loadtest { 

            server 192.168.16.142; 

            server 192.168.16.47; 

          }

    weight:加权轮询,weight值越大,分配到的访问几率越高

          upstream loadtest { 

            server 192.168.16.142 weight=4; 

            server 192.168.16.47 weight=1; 

          }

    ③ip_hash :每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器

   ④url_hash:按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器

   ⑤least_conn:最少链接数,那个机器链接数少就分发

原文地址:https://www.cnblogs.com/open-yang/p/11255894.html