Nginx后端服务器(即 upstream 模块中配置的服务器)有多种状态
侧边栏壁纸
  • 累计撰写 18 篇文章
  • 累计收到 3 条评论

Nginx后端服务器(即 upstream 模块中配置的服务器)有多种状态

无冕の神
2026-02-03 / 0 评论 / 1 阅读 / 正在检测是否收录...
  1. weight(权重,默认值 1)
    upstream backend {
    server 192.168.1.101 weight=3; # 权重 3,被分配概率更高
    server 192.168.1.102 weight=1; # 权重 1
    }
  2. max_fails(最大失败次数,默认值 1)
    若失败次数达到 max_fails,Nginx 会在 fail_timeout 时间内将该服务器标记为 “不可用”,不再分配请求。
    upstream backend {
    server 192.168.1.101 max_fails=3; # 3 次失败后标记为不可用
    }
  3. fail_timeout(失败超时时间,默认值 10 秒)
    配合 max_fails 使用,定义 “失败次数统计的时间窗口” 和 “服务器被标记为不可用后的隔离时间”。
    若 max_fails=3 且 fail_timeout=20s,表示 20 秒内失败 3 次,服务器会被隔离 20 秒。
    隔离时间结束后,Nginx 会重新尝试将请求分配给该服务器,若成功则恢复可用状态。
    upstream backend {
    server 192.168.1.101 max_fails=3 fail_timeout=20s;
    }
  4. down(手动标记为不可用)
    手动将服务器标记为 “永久不可用”,Nginx 不会向其分配任何请求。
    upstream backend {
    server 192.168.1.101 down; # 该服务器不参与负载均衡
    server 192.168.1.102;
    }
  5. backup(备份服务器)
    标记为备份服务器,仅当所有非备份服务器(正常或临时不可用)都无法处理请求时,才会接收请求。
    upstream backend {
    server 192.168.1.101;
    server 192.168.1.102;
    server 192.168.1.103 backup; # 主服务器都故障时启用
    }
  6. max_conns(最大连接数)
    限制后端服务器同时处理的最大连接数,超过则不再分配新请求。
    upstream backend {
    server 192.168.1.101 max_conns=1000; # 最多同时处理 1000 个连接
    }

这些状态可组合使用
upstream backend {

server 192.168.1.101 weight=2 max_fails=3 fail_timeout=15s;
server 192.168.1.102 weight=1 max_conns=500;
server 192.168.1.103 backup;
server 192.168.1.104 down;

}

0

评论 (0)

取消