当用于负载均衡时,Nginx不会故障转移

我们使用Nginx来在两个上游应用程序服务器之间进行负载均衡,我们希望在部署它时能够使其中一个或另一个停下来。 我们发现,当我们closures一个时,Nginx不会失败。 它不断发送请求和logging错误。

我们的上游指令具有以下forms:

upstream app_servers { server 10.100.100.100:8080; server 10.100.100.200:8080; } 

我们从阅读Nginx文档的理解是,我们不需要明确指定“max_fails”或“fail_timeout”,因为它们有合理的默认值。 (即max_fails为1)。

任何想法,我们可能会在这里失踪?

非常感谢。

根据文件…

max_fails = NUM​​BER – 在该时间段内与服务器通信失败的次数(由参数fail_timeout分配),在此之后它被认为不起作用。 如果没有设置,尝试的次数是一次。 值为0会关闭此检查。 什么被认为是失败是由proxy_next_upstream或fastcgi_next_upstream(除了不计入max_fails的http_404错误除外)定义的。

根据文档,失败是由proxy_next_upstream或fastcgi_next_upstream定义的。

它不断发送请求和记录错误。

请检查日志记录了什么类型的错误,如果它不是默认的(错误或超时),那么你可能想要专门在proxy_next_upstream或fastcgi_next_upstream中定义它。