rmdir.cn

负载均衡配置示例

配置多上游轮询与最少连接策略

配置骨架(非 Shell 命令)

upstream app_backend {
    server 127.0.0.1:3001;
    server 127.0.0.1:3002;
}

说明

适用于多个等价后端实例。upstream 块必须在 http 上下文,不能放入 server 或 location;可写入被 http include 的 conf.d 文件。示例使用本机 3001、3002 端口,替换为实际后端。修改后先检查通过再重载。

示例

轮询分配请求

两个上游使用默认轮询策略。

upstream app_backend {
    server 127.0.0.1:3001 max_fails=3 fail_timeout=10s;
    server 127.0.0.1:3002 max_fails=3 fail_timeout=10s;
}
server {
    listen 80;
    server_name example.com;
    location / {
        proxy_pass http://app_backend;
        proxy_set_header Host $host;
    }
}

注意事项:max_fails/fail_timeout 是被动故障处理,不等于主动健康检查。重试非幂等请求可能产生重复业务操作。

最少连接策略

用下面的 upstream 替换上一示例的同名块,不能重复定义。

upstream app_backend {
    least_conn;
    server 127.0.0.1:3001;
    server 127.0.0.1:3002;
}

注意事项:有状态会话应使用共享会话存储或明确的会话策略;均衡策略不会自动同步应用状态。

参考资料