scgi_next_upstream_tries

The 'scgi_next_upstream_tries' 指令指定在 SCGI 服务通信失败时尝试连接下一个上游服务器的次数。 — NGINX HTTP Core

scgi_next_upstream_tries
httpserverlocation
语法scgi_next_upstream_tries number;
默认值1
上下文http, server, location
模块NGINX HTTP Core
参数1

说明

The 'scgi_next_upstream_tries' 指令用于配置当初始上游服务器未能正确响应时 NGINX 将向另一个 SCGI 上游服务器发起多少次尝试。它在 NGINX 配置中定义了多个 SCGI 服务器的情况下尤其有用,可提供容错并提高服务器可靠性。该指令可以接受一个单个整数参数,表示在放弃连接更多上游服务器之前应进行的重试总次数。\n\n设置后,如果 SCGI 请求因网络问题、超时或在处理请求期间识别的其他错误而失败,NGINX 将尝试将请求转发到 SCGI 块中指定的下一个上游服务器。此行为有助于分散负载并提高应用可用性。如果在耗尽所有指定尝试后仍未能建立成功连接,NGINX 将向客户端返回错误响应。\n\n应根据应用和服务器能力的具体情况谨慎配置此指令,以避免在请求处理过程中产生不必要的延迟,尤其是在高流量或上游服务器可能暂时不可用的情况下。

配置示例

http {
    upstream backend {
        server backend1.example.com;
        server backend2.example.com;
    }

    location /scgi {
        include fastcgi_params;
        scgi_pass backend;
        scgi_next_upstream_tries 3;
    }
}

如果上游服务器持续失败,设置过高的数值可能会导致响应时间大幅延长。

确保 'scgi_pass' 已正确配置;否则,该指令可能无法按预期生效。