利用Nginx反向代理做负载均衡

1、在http节点下设置upstream

upstream nginxURL{
    server 192.168.2.136:8088;
    server 192.168.2.136:8080;
}

2、在server节点location中配置代理转发

server{
    listen 8088;
    server_name  192.168.2.24:8088;

    location / {
         proxy_pass http://nginxURL;
    }
}

3、接下来在客户端访问http://192.168.2.24:8088/nginx/**时,nginx将会转发至192.168.2.136:8088/nginx/**或者192.168.2.136:8080/nginx/** 

    

需要注意点

  • 在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,标示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。

假如用 http://192.168.2.24:8088/nginx/log进行访问

第一种:
location /nginx/ {
proxy_pass http://nginxURL/;
}
代理到URL:http://192.168.2.136/log

第二种(最后少一个 / ,常用于更换ip指向)
location /nginx/ {
proxy_pass http://nginxURL;
}
代理到URL:http://192.168.2.136/nginx/log

第三种(常用于变更ip指向+路径):

location /nginx/ {
proxy_pass http://nginxURL/AAA/;
}
代理到URL:http://192.168.2.136/AAA/log

第四种(相对于第三种,最后少一个 / )
location /nginx/ {
proxy_pass http://nginxURL/AAA;
}
代理到URL:http://192.168.2.136/AAAlog

4、负载均衡算法

  • 轮循+weight  默认的
  • ip_hash :基于Hash计算,保持session一致性
  • url_hash(第三方)  静态资源缓存,节约存储,加快速度
  • least_conn 最少链接优先
  • least_time 最少响应时间,计算节点平均响应时间,然后取响应最快的那个,分配更高权重。

  •  

     

posted @ 2020-06-16 14:38  蓝色土耳其  阅读(310)  评论(0编辑  收藏  举报