fastcgi_next_upstream_tries
指令 `fastcgi_next_upstream_tries` 控制在 FastCGI 请求失败时 NGINX 重试下一个上游服务器的次数。 — NGINX HTTP Core
fastcgi_next_upstream_tries
httpserverlocation
语法fastcgi_next_upstream_tries number;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1
说明
指令 `fastcgi_next_upstream_tries` 指定在 FastCGI 请求不成功时应尝试的上游服务器数量。通过设置此指令,NGINX 可以在后端 FastCGI 服务器之间实现负载均衡:如果初始服务器失败,则尝试在指定数量的其他服务器上重试请求。在对高可用性有严格要求的场景中,这尤其有用,可确保即使一个或多个上游服务器宕机,应用仍能继续运行。 在指定该指令的值时,可以在 http、server 或 location 上下文中定义,从而根据不同的应用需求进行细粒度调整。例如,可以在更容易发生失败的 location 中设置较高的值,而在更稳定的区域保持较低的值。所指定的值必须是正整数,如果设置为 0,则实际上禁用该功能,这意味着 NGINX 不会尝试在其他上游服务器上重试。 值得注意的是,该指令会与其他与 FastCGI 相关的指令交互,尤其是 `fastcgi_next_upstream`,后者决定何种情况下会发生重试。将两者结合使用可以全面控制 NGINX 如何处理后端故障和故障转移。
配置示例
location /api {
fastcgi_pass backend;
fastcgi_next_upstream_tries 3;
}⚠
将该值设置为零会完全禁用重试机制,如果初始 FastCGI 服务器不可用,可能导致更频繁的错误。
⚠
确保 FastCGI 服务器能够处理重试;否则,在下一次尝试时可能会发生相同的失败。