Nginx负载均衡从零开始配置教程

为什么需要 Nginx 负载均衡

当一台服务器扛不住高并发,或者想实现高可用,Nginx 负载均衡 就是最常用的方案。
它可以把用户请求均匀分发给后端多台真实服务器,既提升性能又避免单点故障。
本文会带零基础的朋友一步步完成配置。

配置前需要准备的几样东西

  • 一台已经安装好 Nginx 的服务器(操作系统不限,本文以 CentOS 7 为例)
  • 至少两台后端应用服务器(可以是本机不同端口,例如 8081 和 8082)
  • 后端服务已正常启动并能独立访问(比如用 curl http://127.0.0.1:8081 能返回内容)

如果没有多台机器,完全可以在同一台服务器上启动两个不同端口的 web 服务来做测试。

手把手配置 Nginx 负载均衡

1. 找到并编辑 Nginx 主配置文件

默认路径是 /etc/nginx/nginx.conf,也可以用 nginx -t 查看当前使用的配置路径。
备份原文件后,用 vim 或 nano 打开:

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
vim /etc/nginx/nginx.conf

2. 在 http 块内添加 upstream 定义

http { } 大括号内部,server 块之前,添加如下内容:

upstream my_backend {
    server 127.0.0.1:8081 weight=1;
    server 127.0.0.1:8082 weight=1;
    # 这里可以继续添加更多后端
}

upstream 后面的名字(这里是 my_backend)可以自己取,后续 proxy_pass 里会引用。
每个 server 后面就是后端地址和端口,weight 表示权重,数值越大分到的请求越多。

3. 修改 server 块中的 location 指向 upstream

找到你实际提供服务的 server 块,通常默认的 server 监听 80 端口。
把原来的 proxy_passroot 改成下面这样:

location / {
    proxy_pass http://my_backend;
    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_pass http://my_backend 把请求转发到刚才定义的 upstream 组,Nginx 会自动按轮询(默认算法)或权重分发。

4. 检查配置并重启 Nginx

nginx -t   # 测试语法是否正确
systemctl restart nginx   # CentOS 7 重启命令
# 如果是其他系统,用 nginx -s reload 也行

如果 nginx -t 提示 syntax is oktest is successful,说明配置没问题。

配置中的高频问题与避坑

  • 后端服务器没启动502 Bad Gateway 最常见原因。务必先用 curl 确认后端地址能直接访问。
  • upstream 名字拼写错误proxy_pass 后面的地址必须和 upstream 名称完全一致,包括大小写。
  • 防火墙未放行端口:检查后端端口是否开放,用 telnet 127.0.0.1 8081 测试连通性。
  • 日志定位问题:查看 /var/log/nginx/error.log,错误信息会直接给出线索。

如果想让某一台服务器承担更多请求,可以调整 weight 值,例如 weight=3
如果需要会话保持(session sticky),可以使用 ip_hash 指令,在 upstream 块内添加一行:

upstream my_backend {
    ip_hash;
    server 127.0.0.1:8081;
    server 127.0.0.1:8082;
}

如何验证 Nginx 负载均衡生效

最简单的方法是准备两台后端服务器,返回不同的内容(比如在首页分别写入 "Server A" 和 "Server B")。
然后用浏览器或 curl 多次访问 Nginx 代理端口:

for i in {1..10}; do curl http://你的服务器IP; done

如果看到不同服务器的响应交替出现,说明 Nginx 负载均衡配置成功。
也可以用 curl -I 查看响应头里的 Server 字段来确认。

Nginx 负载均衡 配置并不复杂,关键是理解 upstream 和 proxy_pass 的配合。
按照本文的步骤一步步操作,即使零基础也能顺利跑起来。
如果遇到异常,优先检查后端服务状态和 Nginx 错误日志,大多数问题都能快速定位。

分享到:
上一篇
Nginx反向代理配置教程:零基础也能轻松上手
下一篇
Nginx缓存配置从零开始:加速网站访问的实操指南
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意