轮询是Nginx默认负载均衡算法,按顺序循环分配请求至后端服务器(如A→B→C→A),不依赖服务器状态,要求后端性能均等;配置只需定义upstream并列出server地址,默认权重为1,无需额外参数。

轮询是Nginx最基础、开箱即用的负载均衡方式,不需要额外配置就能工作,适合刚接触集群部署的运维或开发人员快速上手。
轮询是怎么工作的
它按顺序把每个新请求依次发给后端服务器:比如三台服务器A、B、C,第1个请求到A,第2个到B,第3个到C,第4个又回到A,循环往复。这种分配不看CPU、内存或响应时间,只认顺序——所以前提是后端服务器性能和负载能力基本一致。
最简可用配置怎么写
只需在http块里定义一个upstream组,列出所有后端地址:
http {
upstream myapp {
server 192.168.1.101;
server 192.168.1.102;
server 192.168.1.103;
}
server {
listen 80;
location / {
proxy_pass http://myapp;
}
}
}
注意:不用加任何参数,默认就是轮询;每台server默认权重为1,等比例分担流量。
让轮询更可靠的关键补充
生产环境不能只靠“顺序转发”,还要加上基础容错能力:
- 用max_fails=3 fail_timeout=30s让Nginx在连续3次失败后,30秒内不再把请求发给这台宕机的机器
- 加keepalive 32复用TCP连接,减少后端建连开销
- 在proxy_pass前加上proxy_set_header X-Real-IP $remote_addr,确保后端能拿到真实客户端IP
怎么验证轮询真的生效了
启动Nginx后,在命令行执行:
for i in {1..6}; do curl http://your-nginx-ip; echo; done
如果返回结果依次是 server1 → server2 → server3 → server1 → server2 → server3,就说明轮询已正确运行。建议配合curl -v或后端日志一起观察,避免缓存干扰。











