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

相关推荐
哲霖软件44 分钟前
ERP 赋能非标自动化行业:破解物料与库存管理难题
运维·自动化
火车叼位2 小时前
替代 Tiny Win10 的 Linux 方案:Debian XFCE 精简桌面搭建
linux·运维
大明者省3 小时前
宝塔开了端口,Ubuntu 还得开相应端口才能打通
服务器·数据库·ubuntu
syagain_zsx3 小时前
Linux指令初识(实用篇)
linux·运维·服务器
OYangxf3 小时前
Git Commit Message
运维·git
Alter12304 小时前
从“力大砖飞”到“拟态共生”,新华三定义AI基础设施的系统级进化
大数据·运维·人工智能
王木风4 小时前
终端里的编程副驾:DeepSeek-TUI-项目深度拆解,实测与原理分析
linux·运维·人工智能·rust·node.js
槑槑紫4 小时前
windows系统装轻量版linux开发
linux·运维·服务器
byte轻骑兵4 小时前
【HID】规范精讲[14]: 蓝牙HID流量规格配置实战——鼠标、键盘与手柄的QoS优化指南
服务器·计算机外设·人机交互·键盘·hid
齐潇宇4 小时前
k8s-Helm管理器
linux·运维·云原生·容器·kubernetes