Nginx 负载均衡的实现

1. 机器准备

|-------|------------|
| 客户端 | 10.0.0.205 |
| nginx | 10.0.0.206 |
| web1 | 10.0.0.203 |
| web2 | 10.0.0.204 |

2. nginx 服务配置

下载 nginx

root@ubuntu2204 \~# apt install nginx -y

编辑配置文件,将请求分发到后端服务器

root@ubuntu2204 \~# vim /etc/nginx/conf.d/load_balance.conf

upstream backend_servers {

server 10.0.0.203:8081 weight=2; # 权重为 2

server 10.0.0.204:8082 weight=1; # 权重为 1

}

server {

listen 81;

location / {

proxy_pass http://backend_servers;

proxy_set_header Host $host;

}

}

检查配置

root@ubuntu2204 \~# nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

重启 nginx 服务

root@ubuntu2204 \~# systemctl restart nginx.service

3. 后端服务器准备

创建第一个后端服务

root@ubuntu2204 \~# mkdir -p /var/www/backend1

root@ubuntu2204 \~# echo "Backend Server 1" > /var/www/backend1/index.html

root@ubuntu2204 \~# python3 -m http.server 8081 --directory /var/www/backend1 &

创建第二个后端服务

root@ubuntu2204 \~# mkdir -p /var/www/backend2

root@ubuntu2204 \~# echo "Backend Server 2" > /var/www/backend2/index.html

root@ubuntu2204 \~# python3 -m http.server 8082 --directory /var/www/backend2 &

验证后端服务是否正常运行

root@ubuntu2204 \~# curl http://10.0.0.203:8081

Backend Server 1

root@ubuntu2204 \~# curl http://10.0.0.204:8082

Backend Server 2

4. 测试负载均衡

root@ubuntu2204 \~# for i in {1..10};do curl http://10.0.0.206:81;done

Backend Server 2

Backend Server 1

Backend Server 1

Backend Server 2

Backend Server 1

Backend Server 1

Backend Server 2

Backend Server 1

Backend Server 1

Backend Server 2

5. 健康检查

停止一个服务,测试nginx是否能检测到异常,并合理分发请求

root@ubuntu2204 \~# pkill -f "python3 -m http.server 8081"

客户端继续访问后端服务

root@ubuntu2204 \~# for i in {1..10};do curl http://10.0.0.206:81;done

Backend Server 2

Backend Server 2

Backend Server 2

Backend Server 2

Backend Server 2

Backend Server 2

Backend Server 2

Backend Server 2

Backend Server 2

Backend Server 2

相关推荐
Darkwanderor7 小时前
对Linux的进程控制的研究
linux·运维·c++
Web极客码8 小时前
突破并发瓶颈:云端高性能架构如何赋能海外 AI Agent 矩阵的高效产出
服务器·人工智能·架构
一个有温度的技术博主8 小时前
【VulnHub 实战】DC-1 靶机渗透测试笔记(一):信息收集与主机发现
服务器·网络·笔记
爱网络爱Linux10 小时前
Linux proc 目录安全加固
linux·运维·rhce·rhca·红帽认证·proc 目录安全加固
MindUp10 小时前
企业网盘权限模型解析:多层级访问控制与审计能力选型指南
java·linux·运维
持力行10 小时前
D-BUS会话总线
运维·网络
pt104310 小时前
思科网络自动化-API常用数据编码格式(JSON/XML/YAML)课程与实践
linux·服务器·网络
kdxiaojie11 小时前
Linux 驱动研究 —— I2C (5)
linux·运维·笔记·学习
独自归家的兔11 小时前
2026年7月2日 Docker 容器化部署 PaddleOCR-VL 实战(OpenAI 协议兼容 HTTP 调用)
运维·docker·容器
ZXXstarstar11 小时前
2026年电池安全使用年限的量化决策:什么时间到期最需要替换?
linux·运维·服务器·电池