Nginx HTTP 反向代理负载均衡实验

发布于:2025-07-30 ⋅ 阅读:(12) ⋅ 点赞:(0)

一、实验目标

  1. 在 192.168.65.135 上部署 Nginx,作为 七层 HTTP 反向代理

  2. www.xiaotiantian.org 的流量 轮询 转发到两台后端 Web:

    • 192.168.65.131:80

    • 192.168.65.132:80

  3. 验证:多次 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

实际输出:


网站公告

今日签到

点亮在社区的每一天
去签到