zoukankan      html  css  js  c++  java
  • Nginx的负载均衡配置(七)

    原文链接:https://www.cnblogs.com/knowledgesea/p/5199046.html

    首先给大家说下upstream这个配置的,这个配置是写一组被代理的服务器地址,然后配置负载均衡的算法。这里的被代理服务器地址有两种写法。

    # 第一种
    upstream mysvr { 
          server 192.168.10.121:3333;
          server 192.168.10.122:3333;
        }
    server {
          ....
          location  ~*^.+$ {         
             proxy_pass  http://mysvr;  #请求转向mysvr 定义的服务器列表   
        } }
    # 第二种
    upstream mysvr { server http://192.168.10.121:3333; server http://192.168.10.122:3333; } server { .... location ~*^.+$ { proxy_pass mysvr; #请求转向mysvr 定义的服务器列表 } }

    1. 热备:如果你有2台服务器,当一台服务器发生事故时,才启用第二台服务器给提供服务。服务器处理请求的顺序:AAAAAA突然A挂啦,BBBBBBBBBBBBBB.....

    upstream mysvr { 
          server 127.0.0.1:7878; 
          server 192.168.10.121:3333 backup;  #热备     
    }

    2. 轮询:nginx默认就是轮询其权重都默认为1,服务器处理请求的顺序:ABABABABAB....

    upstream mysvr { 
          server 127.0.0.1:7878;
          server 192.168.10.121:3333;       
    }

    3. 加权轮询:根据配置的权重的大小而分发给不同服务器不同数量的请求。如果不设置,则默认为1。下面服务器的请求顺序为:ABBABBABBABBABB...

    upstream mysvr { 
          server 127.0.0.1:7878 weight=1;
          server 192.168.10.121:3333 weight=2;
    }

    4. ip_hash:nginx会让相同的客户端ip请求相同的服务器。

    upstream mysvr { 
          server 127.0.0.1:7878; 
          server 192.168.10.121:3333;
          ip_hash;
    }

    关于nginx负载均衡配置的几个状态参数:

    • down,表示当前的server暂时不参与负载均衡。
    • backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的压力最轻。
    • max_fails,允许请求失败的次数,默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误。
    • fail_timeout,在经历了max_fails次失败后,暂停服务的时间。max_fails可以和fail_timeout一起使用。
    upstream mysvr { 
          server 127.0.0.1:7878 weight=2 max_fails=2 fail_timeout=2;
          server 192.168.10.121:3333 weight=1 max_fails=2 fail_timeout=1;    
    }
  • 相关阅读:
    (转载)CentOS 6.5使用aliyun镜像来源
    (转载) Linux五种IO模型
    (转载)django 访问url报错Forbidden (CSRF cookie not set.): xxx 问
    (原创)性能测试中,Oracle服务器定位CPU使用率高的瓶颈(SQL)
    oracle AWR性能监控报告生成方法
    MQ、JMS以及ActiveMQ的了解和认识
    coding.net及git的使用方式
    【转载】zookeeper使用和原理探究(一)
    shell执行mysql的脚本(包括mysql执行shell脚本)
    mikadonic-建立互信
  • 原文地址:https://www.cnblogs.com/myitnews/p/11544708.html
Copyright © 2011-2022 走看看