配置两个Nginx做负载均衡
负载均衡是提升系统高可用性与性能的关键方案,通过部署两台Nginx服务器实现请求分发,可分担单点压力并保障服务稳定性,本文将从环境准备、基础配置到负载均衡实现,全面解析配置过程,并附策略对比与常见问题解答。

环境准备
- 硬件与网络:两台运行Linux(如Ubuntu 20.04)的服务器,配置固定IP(如Server A: 192.168.1.101,Server B: 192.168.1.102),确保网络互通(内网或负载均衡器前)。
- 软件版本:Nginx ≥ 1.20(支持upstream模块),系统内核 ≥ 3.10。
- 网络配置:每台服务器设置固定IP,保障公网/内网访问无障碍。
Nginx基础配置
在单台Nginx服务器上完成基础部署,为负载均衡做准备:
- 安装Nginx:
sudo apt update && sudo apt install nginx -y
- 配置文件修改(/etc/nginx/nginx.conf):
worker_processes auto; events { worker_connections 1024; } http { server { listen 80; server_name localhost; location / { root /var/www/html; index index.html; } } } - 启动与测试:
sudo systemctl start nginx sudo systemctl enable nginx curl http://192.168.1.101 # 验证单台Nginx运行正常
负载均衡配置详解
定义后端服务器(upstream模块)
在Nginx配置文件中添加upstream块,指定两台后端服务器的地址:
upstream backend {
server 192.168.1.101:80; # Server A
server 192.168.1.102:80; # Server B
}配置前端负载均衡服务器
修改server块,使用proxy_pass指向upstream组:

server {
listen 80;
server_name load-balance.example.com;
location / {
proxy_pass http://backend; # 负载均衡到backend组
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}部署多台Nginx
在两台服务器上同步配置,启动服务:
# 在Server A sudo systemctl restart nginx # 在Server B sudo systemctl restart nginx
测试与验证
- 访问测试:
通过浏览器访问负载均衡服务器的IP(如http://192.168.1.100),多次刷新页面,观察请求被分发到两台后端服务器。 - 命令验证:
使用curl -I http://192.168.1.100,响应头中的X-Forwarded-For字段会显示不同后端服务器的IP(如168.1.101或168.1.102),验证负载均衡效果。
负载均衡策略对比
| 策略名称 | 工作原理 | 适用场景 |
|---|---|---|
| 轮询(Round Robin) | 按顺序分发请求,每台服务器分配相等请求量 | 基础负载均衡,服务器性能一致 |
| 加权轮询(Weighted Round Robin) | 根据权重分配请求,权重高的服务器处理更多请求 | 服务器性能差异较大时 |
| 最少连接(Least Connections) | 选择当前连接数最少的服务器 | 避免某台服务器过载 |
| IP哈希(IP Hash) | 基于客户端IP哈希,固定分配到同一台服务器 | 需要会话保持的场景 |
常见问题解答(FAQs)
问题:为什么需要配置两个Nginx做负载均衡?
解答:单台Nginx可能因硬件限制或单点故障导致性能瓶颈或服务中断,配置两台Nginx可提高系统可用性(故障转移)、分担请求压力(负载均衡),同时便于水平扩展(增加更多Nginx实例)。问题:负载均衡后访问速度变慢怎么办?
解答:可从以下方面优化:
- Nginx配置:开启gzip压缩(
gzip on;)、调整worker_processes(根据CPU核心数)、启用keepalive连接(keepalive_timeout 65;)。 - 后端服务器:优化应用性能(如数据库查询、缓存策略)、增加服务器资源(CPU、内存)。
- 网络优化:使用CDN加速静态资源、优化网络带宽(如启用HTTP/2协议)。
- Nginx配置:开启gzip压缩(
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/211035.html


