Nginx 故障转移和故障自动恢复

当上游服务器(真实访问服务器)一旦出现故障或者是没有及时相应的话,应该直接轮训到下一台服务器,保证服务器的高可用 。

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恢复正常请求,就是正常轮询代理。

posted @ 2020-06-22 16:19  游子善心  阅读(135)  评论(0编辑  收藏  举报  来源