当上游服务器(真实访问服务器)一旦出现故障或者是没有及时相应的话,应该直接轮训到下一台服务器,保证服务器的高可用 。
location /
{
### 指定上游服务器负载均衡服务器
proxy_pass http://Site;
### 于192.168.1.123后端服务器连接的超时时间_发起握手等候响应超时时间
proxy_connect_timeout 20s;
### 于192.168.1.123连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间)
proxy_read_timeout 20s;
### 于192.168.1.123后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
proxy_send_timeout 20s;
}
max_fails=number 设定Nginx与服务器通信的尝试失败的次数。
fail_timeout=number 参数定义的时间段内,如果失败的次数达到此值,Nginx就认为服务器不可用。在下一个fail_timeout时间段,服务器不会再被尝试。 失败的尝试次数默认是1。
upstream Site
{
#ip_hash;
server 192.168.1.122 max_fails=1 fail_timeout=60s;
server 192.168.1.123 max_fails=1 fail_timeout=60s;
}
以上配置结果为: 192.168.1.122 20s超时,自动切换到192.168.1.123,在60秒内不会请求192.168.1.122,60秒之后会从新探测122是否复活,如果不复活继续60s不请求,只到122恢复正常请求,就是正常轮询代理。