Nginx 是一款高性能的反向代理和负载均衡服务器,广泛应用于分布式系统中。以下是关于负载均衡的核心配置说明:

1. 基础配置

http {
    upstream backend {
        server 192.168.1.10:8080;
        server 192.168.1.11:8080;
    }

    server {
        listen 80;
        location / {
            proxy_pass http://backend;
        }
    }
}

✅ 该配置将请求分发到两个后端服务器,可通过 /nginx_load_balancing_tutorial 查看详细教程

2. 负载均衡策略 🔄

  • 轮询(Round Robin)

    轮询_负载均衡
    默认策略,按顺序分配请求
  • 加权轮询(Weighted Round Robin)
    通过 weight 参数设置服务器权重,例如:
    server 192.168.1.10:8080 weight=3;

  • IP哈希(IP Hash)
    按客户端IP分配,确保同一客户端请求到达同一服务器:
    ip_hash;

3. 健康检查机制 🩺

upstream backend {
    server 192.168.1.10:8080;
    server 192.168.1.11:8080 down;
    server 192.168.1.12:8080 backup;
}

🚫 down 表示服务器不可用,backup 表示备用服务器,更多监控技巧请参见 [/nginx_health_checking]

4. 高级配置建议 📌

  • 使用 sticky 持久连接:
    sticky cookie srv_id expires=1h;

  • 配置超时参数:
    keepalive_timeout 30s;

  • 日志分析:
    access_log /var/log/nginx/load_balance.log;

5. 常见问题解答 ❓

问题 解决方案
服务端未响应 检查 down 标记及健康检查配置
请求分配不均 调整 weight 参数或使用 least_conn 策略

📚 深入学习 Nginx 负载均衡,请访问 [/nginx_load_balancing_best_practices] 获取优化方案

nginx_负载均衡架构