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] 获取优化方案