Nginx HTTP反向代理负载均衡实验教程
作者:π大星星️
文章描述了在192.168.65.135上部署Nginx作为七层HTTP反向代理,将www.xiaotiantian.org的流量轮询转发到两台后端Web服务器,并验证了反向代理的负载均衡和故障转移功能
一、实验目标
在 192.168.65.135 上部署 Nginx,作为 七层 HTTP 反向代理。
将 www.xiaotiantian.org 的流量 轮询 转发到两台后端 Web:
- 192.168.65.131:80
- 192.168.65.132:80
验证:多次 curl 域名,页面内容在 “13111” 与 “132222” 之间交替出现,且任一后端宕机时自动剔除。
二、实验拓扑
Client ──HTTP/80──► 192.168.65.135 (Nginx)
├─► 192.168.65.131:80 (Web-1)
└─► 192.168.65.132:80 (Web-2)三、环境清单
| 主机 | IP | 软件 | 标识页内容 |
|---|---|---|---|
| Nginx Proxy | 192.168.65.135 | nginx-1.24.0 | 无(反向代理) |
| Web-1 | 192.168.65.131 | httpd / nginx | /var/www/html/index.html → 13111 |
| Web-2 | 192.168.65.132 | httpd / nginx | /var/www/html/index.html → 132222 |
四、后端 Web 服务验证
# Web-1 $ curl 192.168.65.131 13111 # Web-2 $ curl 192.168.65.132 132222
两台均返回 200 OK,服务正常。


五、Nginx 反向代理配置(192.168.65.135)
文件:/usr/local/nginx/conf.d/xtt.conf (已修复语法)
upstream webserver {
server 192.168.65.131:80 weight=1 max_fails=3 fail_timeout=15s;
server 192.168.65.132:80 weight=1 max_fails=3 fail_timeout=15s;
}
server {
listen 80;
server_name www.xiaotiantian.org;
location / {
proxy_pass http://webserver;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_connect_timeout 3s;
}
}
- 采用 默认轮询(
weight=1相等)。 - 任一后端 3 次失败即暂停 15 s,实现 故障摘除。
加载配置
nginx -t systemctl reload nginx
六、测试记录
在任意客户端执行:
for i in {1..6}; do curl www.xiaotiantian.org; done实际输出:

七、总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
