如果第一个服务器失败,Nginx负载平衡第二个服务器将接管

时间:2017-11-06 10:02:04

标签: nginx load-balancing

我实际上是一个Nginx配置,有两个服务器负载均衡,我想实现这个行为:

  1. 第一台服务器(主服务器)应该向所有人提供所有请求
  2. 如果主服务器由于某种原因失败,则第二台服务器应该接管所有请求
  3. 基本上,第二台服务器应该作为主服务器的备份。 当然我可以使用这两个因素:第一台服务器上的max_fails = 3 fail_timeout = 15s但是如何确保主要服务器的使用是独占的,避免了默认的循环行为?感谢。

1 个答案:

答案 0 :(得分:1)

您需要使用上游的backup属性

  

备份

     

将服务器标记为备份服务器。当主服务器不可用时,它将被传递请求。

upstream backend {
    server main.example.com       max_fails=3 fail_timeout=30s;

    server backup1.example.com  backup;
}

在这种情况下,备份仅在main关闭时使用