• 利用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 最少响应时间,计算节点平均响应时间,然后取响应最快的那个,分配更高权重。

  • 相关阅读:
    虚拟环境地址
    ubuntu 查看占用文件空间大小
    drf serializer官网所得
    百度api 找到当前电话号码归属地
    mongo 改bug
    django orm 读写分离,分库分app
    __setattr__,__getattr__,__getattribute__
    Python之路--Django--模型
    Python之路--Django--模板
    Python之路--Django--视图
  • 原文地址:https://www.cnblogs.com/lansetuerqi/p/13140536.html
Copyright © 2020-2023  润新知