爱生活,爱分享


nginx-03 nginx负载均衡

haiten 2019-09-15 532浏览 0条评论
首页/正文
分享到: / / / /

原文链接:

https://www.cnblogs.com/knowledgesea/p/5199046.html

Nginx 负载均衡

upstream 配置是写一组被代理的服务器地址,然后配置负载均衡的算法。这里的被代理服务器地址有2中写法:

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

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

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

5、负载均衡配置的状态参数

关于 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;    
    }

到这里应该可以说 nginx 的内置负载均衡算法已经没有货啦。如果你像跟多更深入的了解 nginx 的负载均衡算法,nginx 官方提供一些插件大家可以了解下。

最后修改:2019-09-15 08:16:12 © 著作权归作者所有
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

上一篇

发表评论

说点什么吧~

评论列表

还没有人评论哦~赶快抢占沙发吧~