Nginx是Ubuntu服务器负载均衡最常用工具,核心配置包括upstream定义后端服务器、proxy_pass转发请求、proxy_next_upstream实现错误自动重试,并支持轮询、加权轮询、least_conn和ip_hash四种算法及基础健康检查机制。

Ubuntu 服务器负载均衡配置核心是选对工具、写准配置、配好健康检查。Nginx 是最常用且上手快的选择,适合 HTTP/HTTPS 流量;HAProxy 更适合需要精细 TCP 层控制或高并发稳定性的场景;LVS 则用于超大规模、内核级转发需求。下面以 Nginx 为主,给出生产可用的配置写法和关键细节。
Nginx 负载均衡基础配置
在 /etc/nginx/conf.d/load-balancer.conf 中写入以下内容(不建议直接改 nginx.conf):
upstream app_servers {
server 192.168.10.101:8080 max_fails=3 fail_timeout=30s;
server 192.168.10.102:8080 max_fails=3 fail_timeout=30s;
server 192.168.10.103:8080 backup; # 可选:仅当其他全宕时启用
}
<p>server {
listen 80;
server_name example.com;</p><pre class="brush:php;toolbar:false;">location / {
proxy_pass http://app_servers;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 5s;
proxy_send_timeout 30s;
proxy_read_timeout 30s;
}}
注意:每台后端服务器必须能被 Nginx 主机直连访问(网络通、端口开),且返回正常 HTTP 响应(如 200),否则健康检查会剔除节点。
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
选择合适的负载算法
在 upstream 块中添加对应参数即可切换策略:
- 轮询(默认):不加额外参数,请求依次分发
-
加权轮询:
server 192.168.10.101:8080 weight=3;—— 权重越高,分到请求越多 -
最少连接:
least_conn;—— 适合长连接或响应时间差异大的服务 -
IP 哈希:
ip_hash;—— 同一客户端 IP 总路由到同一后端,适用于有状态会话
必须加的健康检查与容错项
光靠 max_fails 和 fail_timeout 不够健壮,建议配合主动健康检查(需 Nginx Plus 或开源版搭配第三方模块)。但基础版可强化以下几项:
- 设置
proxy_next_upstream error timeout http_500 http_502 http_503 http_504;—— 出现这些错误时自动转给下一个上游 - 用
proxy_redirect off;防止后端重定向跳转到内部地址 - 加
proxy_buffering on;和合理 buffer 大小,避免大响应体阻塞连接
验证与上线流程
写完配置后别直接 reload,按顺序执行:
-
sudo nginx -t—— 检查语法是否正确 -
sudo systemctl reload nginx—— 平滑重载(不中断现有连接) - 用
curl -I http://your-nginx-ip/多次请求,观察响应头中的Server或页面内容变化,确认轮询生效 - 手动停掉一台后端服务,再请求几次,看是否自动跳过故障节点(
max_fails生效)

















