在nginx中为上游所有服务器设置max_fails和fail_timeout

Joh*_*ith 5 nginx load-balancing

我见过的在 nginx 中使用上游(用于负载平衡)的所有示例都如下所示:

upstream  backend  {
  server   backend1.example.com:8080          max_fails=3  fail_timeout=30s;
  server   backend2.example.com:8080          max_fails=3  fail_timeout=30s;
  server   backend3.example.com:8080          max_fails=3  fail_timeout=30s;
}
Run Code Online (Sandbox Code Playgroud)

为每个后端重新设置 max_fails 和 failure_timeout 似乎是重复的,而通常它们总是相同的。是否可以同时为所有后端服务器设置 max_fails 和 failure_timeout ?

小智 4

在您的服务器 {} 配置中指定proxy_upstream_fail_timeoutproxy_upstream_max_fails

请参阅
http://wiki.nginx.org/HttpProxyModule#proxy_upstream_fail_timeout
http://wiki.nginx.org/HttpProxyModule#proxy_upstream_max_fails
了解更多信息

  • 嗯不确定,没有意识到它们被折旧了(从内存中发布链接),但我正在运行 NGINX 1.0.1 并且这些指令仍然有效,在上游服务器说明符中使用指令可能会带来性能优势(proxy_upstream_ * 与使用代理 mod 相关,上游 {} 标志适用于上游模块。我会做一些研究(如果有差异,这对我自己的应用程序有益),然后回复您 (2认同)