必须配置upstream模块实现负载均衡,需确认nginx已安装并启用ssl模块,创建/etc/nginx/conf.d/loadbalance.conf定义后端集群与反向代理规则,最后通过nginx -t验证并systemctl reload nginx生效。

您已在统信UOS上安装好Nginx,但需要将客户端请求分发至多台后端服务器以提升系统可用性与并发处理能力,此时必须配置upstream模块实现负载均衡,而非仅靠单点Web服务响应所有流量。
确认Nginx已安装并启用SSL模块
执行 nginx -v 查看版本,确保输出类似 nginx version: nginx/1.25.3;再运行 nginx -V 2>&1 | grep -o with-http_ssl_module,若返回该字符串,说明SSL模块已编译启用——【缺少此模块会导致后续proxy_pass配置报错】。
若未安装,请先执行:sudo apt update && sudo apt install nginx -y,然后启动服务:sudo systemctl start nginx && sudo systemctl enable nginx。
创建独立负载均衡配置文件
避免修改主配置文件 /etc/nginx/nginx.conf,直接在 /etc/nginx/conf.d/ 下新建专用配置:
sudo nano /etc/nginx/conf.d/loadbalance.conf
写入以下内容(示例含三台后端服务,IP与端口请按实际替换):
upstream backend_cluster {<br> server 192.168.1.101:8080 weight=3;<br> server 192.168.1.102:8080 weight=2;<br> server 192.168.1.103:8080 max_fails=2 fail_timeout=30s;<br>}
其中 weight 控制流量分配比例,max_fails 和 fail_timeout 定义健康检查阈值——后端若连续2次失败且30秒内未恢复,将被临时剔除。
添加监听server块并启用反向代理
在同一 loadbalance.conf 文件末尾追加:
server {<br> listen 80;<br> server_name lb.uos.local;<br> location / {<br> proxy_pass http://backend_cluster;<br> proxy_set_header Host $host;<br> proxy_set_header X-Real-IP $remote_addr;<br> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br> proxy_connect_timeout 10;<br> proxy_send_timeout 15;<br> proxy_read_timeout 15;<br> }<br>}
proxy_pass 必须指向前面定义的 upstream 名称,且结尾不能带斜杠;proxy_set_header 系列指令确保后端能获取真实客户端IP,否则日志和权限判断会出错。
验证语法并重载服务
第一步:检测配置合法性:
sudo nginx -t
若输出 nginx: configuration file /etc/nginx/nginx.conf test is successful,说明无语法错误。
第二步:立即重载生效,不中断现有连接:
sudo systemctl reload nginx
第三步:检查80端口是否已被Nginx监听:
sudo ss -tlnp | grep :80
看到 nginx 进程绑定 *:80 即表示负载均衡器已就绪。











