加入收藏 | 设为首页 | 会员中心 | 我要投稿 牡丹江站长网 (https://www.0453zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

Nginx 反向代理与负载均衡详解

发布时间:2019-11-05 07:24:25 所属栏目:外闻 来源:今日头条
导读:序言 Nginx的代理功能与负载均衡功能是最常被用到的,关于nginx的基本语法常识与配置已在Nginx 配置详解中有说明,这篇就开门见山,先描述一些关于代理功能的配置,再说明负载均衡详细。 Nginx 代理服务的配置说明 1、设置 404 页面导向地址 error_page404

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

  1. upstream mysvr {  
  2.  server 192.168.10.121:3333; 
  3.  server 192.168.10.122:3333; 
  4. server { 
  5.  .... 
  6.  location ~*^.+$ {  
  7.  proxy_pass http://mysvr; #请求转向mysvr 定义的服务器列表  
  8.  } 

然后,就来点实战的东西。

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

  1. upstream mysvr {  
  2.  server 127.0.0.1:7878;  
  3.  server 192.168.10.121:3333 backup; #热备  

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

  1. upstream mysvr {  
  2.  server 127.0.0.1:7878; 
  3.  server 192.168.10.121:3333;  

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

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

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

  1. upstream mysvr {  
  2.  server 127.0.0.1:7878;  
  3.  server 192.168.10.121:3333; 
  4.  ip_hash; 

5、如果你对上面4种均衡算法不是很理解,可以查看Nginx 配置详解,可能会更加容易理解点。

到这里你是不是感觉nginx的负载均衡配置特别简单与强大,那么还没完,咱们继续哈,这里扯下蛋。

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

  • down,表示当前的server暂时不参与负载均衡。
  • backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的压力最轻。
  • max_fails,允许请求失败的次数,默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误。
  • fail_timeout,在经历了max_fails次失败后,暂停服务的时间。max_fails可以和fail_timeout一起使用。
  1. upstream mysvr {  
  2.  server 127.0.0.1:7878 weight=2 max_fails=2 fail_timeout=2; 
  3.  server 192.168.10.121:3333 weight=1 max_fails=2 fail_timeout=1;  

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

(编辑:牡丹江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读