Nginx负载均衡upstream命令详解

1. 语法结构

upstream中server指令语法如下:

server address [parameters]

语法详解

# server 必选
# address 必选,可以是主机名、域名、ip或unix socket,也可以指定端口号
# parameters 可选参数,可以是如下参数:
#  down 表示当前server已停用
#  backup 表示当前server是备用服务器,只有其它非backup后端服务器都挂掉了或者很忙才会分配到请求
#  weight 表示当前server负载权重,权重越大被请求几率越大,默认是1
#  max_fails和fail_timeout 一般关联使用,如果某台server在fail_timeout时间内出现了max_fails次连接失败,则认为
#   该server已经宕机;fail_timeout秒后(这fail_timeout秒内不会有新的请求到达刚刚挂掉的节点上)会再有新请求
#   尝试连接挂掉的server,如果还是失败,重复上一过程,直到恢复;fail_timeout默认是10s,max_fails默认是1,即默认
#   只要发生错误就认为服务器挂掉了,如果将max_fails设置为0,则表示取消这项检查。

配置示例


# 负载均衡配置"website_01"
upstream website_01 {
# 标记服务节点是备用机,仅在其他服务器都宕机以后,才会加入到集群中,被用户访问到
server 192.168.66.1:8080 backup;
# 标记服务节点不可用
server 192.168.66.2:8080 down;   
# 表示单个服务器的最大连接数,防止服务器超载,默认0,表示没有限制        
server 192.168.66.3:8080 max_conns=500; 
# 表示失败几次,则标记server已宕机,剔出集群服务,默认1,设置为0则表示取消检查 
server 192.168.66.4:8080 max_fails=2;   
# 表示失败的重试时间默认10秒 
server 192.168.66.5:8080 fail_timeout=20;
# 表示在15秒内请求失败达到3次后,则认为该server已经宕机;15秒后(这15秒内不会有新的请求到达
# 刚刚挂掉的节点上)会再有新请求尝试连接挂掉的server,如果还是失败,重复上一过程,直到恢复
server 192.168.66.6:8080 max_fails=3 fail_timeout=15;
}

负载均衡配置"website_02"

upstream website_02 {

当前server负载权重,权重越大接收请求越多,默认为1

server 192.168.66.6:8080 weight=3; 
# 当前server负载权重,权重越大接收请求越多,默认为1
server 192.168.66.7:8080 weight=1; 

}

上一篇:POJ 1062 昂贵的聘礼详解最短路变形


下一篇:nrm安装后无法使用