当前位置:首页 > Ubuntu > 正文

Ubuntu上搭建Nginx负载均衡(手把手教你实现高可用Web服务)

在现代Web开发中,为了提升网站的性能、稳定性和可扩展性,负载均衡是一项关键技术。本文将手把手教你如何在Ubuntu系统上使用Nginx搭建一个简单的负载均衡环境,即使你是初学者也能轻松上手!

什么是负载均衡?

负载均衡就是将用户的请求分发到多个后端服务器上,避免单台服务器压力过大,从而提高整体系统的响应速度和可用性。Nginx作为高性能的反向代理服务器,非常适合用来做负载均衡。

Ubuntu上搭建Nginx负载均衡(手把手教你实现高可用Web服务) Ubuntu Nginx负载均衡  Nginx配置教程 Web服务器高可用 反向代理设置 第1张

准备工作

你需要以下环境:

  • 一台运行 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.10192.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 oktest 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配置教程 都是运维工程师必备技能。

赶快动手试试吧!如有问题,欢迎在评论区交流~