nginx中upstream模块的简单示例

本文所指的upstream是nginx的http模块中的内容
对nginx来说,upstream可以在nginx上将后端服务器定义为服务器组,将不同后端不同的服务器划分为不同的组,再经过不同组内的调度算法实现负载均衡。和缓存设置类似,upstream需要先在http下定义,再被调用,方可正常使用。
示例:

http {
……
upstream webserver { #定义名为webserver的组
    server 192.168.1.111:80;
        server 192.168.1.222:80; #将后端两台主机定义到webserver组内

}

以上其实就已经将一个 upstream组定义完成了,定能实现组调度功能了,但是还比较粗糙,在其中还能更精细化的定义其他功能参数:
weight=number; #定义组内各主机的权重
max_conns=number; #定义最大连接数
max_fails=number; #定义健康状态监测,检测最大number数若依然失败,则判断为服务器不可用了。
fail_timeout=time; #定义健康状态检测,检测失败的超时时长,若在设定时间内依然谅解失败,则判断服务器不可用了
backup; #设定当所有组内server都不可用时,将所有请求跳转至backup标记的server。
down; #手动将serverdown掉,例行维护是会使用到。
ip_hash #基于源IP进行hash算法调度,算法较粗糙,会与back_up冲突

猜你喜欢

转载自blog.51cto.com/13322786/2161866