在现代Web开发中,为了提升网站的性能、稳定性和可扩展性,负载均衡是一项关键技术。本文将手把手教你如何在Ubuntu系统上使用Nginx搭建一个简单的负载均衡环境,即使你是初学者也能轻松上手!
什么是负载均衡?
负载均衡就是将用户的请求分发到多个后端服务器上,避免单台服务器压力过大,从而提高整体系统的响应速度和可用性。Nginx作为高性能的反向代理服务器,非常适合用来做负载均衡。
准备工作
你需要以下环境:
一台运行 Ubuntu 20.04/22.04 的服务器(作为 Nginx 负载均衡器) 两台或以上的 Web 服务器(可以是 Apache、Nginx 或其他应用服务器) 基本的 Linux 命令行操作能力第一步:安装 Nginx
在你的 Ubuntu 负载均衡服务器上执行以下命令安装 Nginx:
sudo apt updatesudo apt install nginx -y
安装完成后,启动并设置开机自启:
sudo systemctl start nginxsudo systemctl enable nginx
第二步:配置负载均衡
编辑 Nginx 的配置文件。我们将在
/etc/nginx/sites-available/目录下创建一个新的配置文件:
sudo nano /etc/nginx/sites-available/load-balancer
在文件中输入以下内容(假设你的两台后端 Web 服务器 IP 分别是
192.168.1.10和
192.168.1.11):
upstream backend { server 192.168.1.10; server 192.168.1.11;}server { listen 80; server_name your-domain.com; # 如果没有域名,可留空或写 _ location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }} 这段配置中:
upstream backend定义了后端服务器组
proxy_pass将请求转发给这个组 后面的
proxy_set_header用于传递客户端真实信息给后端服务器
第三步:启用配置
创建软链接以启用站点:
sudo ln -s /etc/nginx/sites-available/load-balancer /etc/nginx/sites-enabled/
测试 Nginx 配置是否正确:
sudo nginx -t
如果显示
syntax is ok和
test is successful,说明配置无误。然后重新加载 Nginx:
sudo systemctl reload nginx
第四步:验证负载均衡效果
你可以通过多次访问你的负载均衡服务器 IP 地址,观察请求是否被轮流分配到两台后端服务器上。为了便于测试,可以在每台后端服务器上放置一个包含服务器标识的简单 HTML 页面,例如:
<!-- 在 192.168.1.10 上 --><h2>Server 1</h2><!-- 在 192.168.1.11 上 --><h2>Server 2</h2>
刷新浏览器几次,如果看到页面在 “Server 1” 和 “Server 2” 之间切换,说明 Ubuntu Nginx负载均衡 已成功运行!
进阶提示
Nginx 支持多种负载均衡策略:
轮询(Round Robin):默认方式,依次分配请求 加权轮询(Weight):根据服务器性能分配不同权重 IP Hash:同一 IP 始终访问同一台服务器(适合会话保持)例如,使用加权轮询:
upstream backend { server 192.168.1.10 weight=3; server 192.168.1.11 weight=1;} 总结
通过本教程,你已经学会了如何在 Ubuntu 系统上使用 Nginx 实现 Web服务器高可用 的基础负载均衡配置。这不仅提升了网站的并发处理能力,也为后续的横向扩展打下了坚实基础。无论是个人项目还是企业级应用,反向代理设置 和 Nginx配置教程 都是运维工程师必备技能。
赶快动手试试吧!如有问题,欢迎在评论区交流~
