需通过反向代理、负载均衡插件、Keepalived高可用及DNS轮询四步实现:一、Nginx配置upstream与proxy_pass;二、安装第三方负载均衡插件图形化管理;三、Keepalived绑定VIP主备漂移;四、DNS轮询分发流量。

如果您在宝塔面板中希望将流量分发至多台后端服务器以提升服务可用性与处理能力,则需通过反向代理与负载均衡策略实现协同工作。以下是具体配置步骤:
一、启用并配置Nginx反向代理
宝塔面板默认使用Nginx作为Web服务器,其upstream模块可定义后端服务器组,是实现负载均衡的基础机制。需手动编辑站点配置文件,注入upstream块及proxy_pass指令。
1、进入宝塔面板,点击左侧【网站】,找到目标站点,点击右侧【设置】。
2、切换到【配置文件】选项卡,定位到server块内location / { ... }区域上方空白处。
3、插入以下upstream定义(示例含两台后端服务器):
upstream backend_servers {
ip_hash;
server 192.168.1.10:8080 weight=3;
server 192.168.1.11:8080 weight=2;
}
4、在location / { ... }块中,将原有的root或index指令替换为:
proxy_pass http://backend_servers;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
5、点击【保存】,再点击【重载配置】使Nginx生效。
二、使用宝塔负载均衡插件(需安装第三方插件)
官方宝塔未内置负载均衡管理界面,但社区存在兼容性良好的第三方插件,可图形化添加节点、设置权重与健康检查。该方式避免手动编辑配置,降低出错风险。
1、登录宝塔SSH终端,执行命令安装插件源:
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
2、进入宝塔面板【软件商店】→【插件】→ 搜索【负载均衡管理器】并安装(注意核对插件作者与兼容版本)。
3、安装完成后,在左侧菜单出现【负载均衡】入口,点击进入。
4、点击【添加集群】,填写集群名称,选择协议为HTTP,端口设为80或443。
5、在【后端节点】栏依次添加IP与端口,为每节点设置权重值及健康检查路径(如/health)。
6、启用【自动故障剔除】与【恢复检测】,保存配置。
三、配置Keepalived实现高可用VIP
单点Nginx仍构成瓶颈,需引入Keepalived绑定虚拟IP(VIP),在主备Nginx间自动漂移,确保负载均衡层不中断。此方案要求两台装有宝塔的服务器部署相同Nginx负载配置。
1、在两台服务器均执行安装命令:
sudo apt install keepalived -y
2、主服务器编辑/etc/keepalived/keepalived.conf,设置state为MASTER,priority为100,virtual_ipaddress为192.168.1.100/24。
3、备服务器编辑同一文件,设置state为BACKUP,priority为90,virtual_ipaddress保持一致。
4、两台服务器均配置vrrp_script检测Nginx进程:
vrrp_script chk_nginx {
script "/usr/bin/pgrep nginx || exit 1"
interval 2
}
5、在vrrp_instance块中引用该脚本,并绑定track_script。
6、启动服务:systemctl enable keepalived && systemctl start keepalived。
四、基于DNS轮询的简易负载分发
当后端服务器无状态且对会话一致性无严格要求时,可在域名解析层实施轮询,由客户端直连不同IP,绕过中心代理节点。此法不依赖宝塔配置,但无法实现健康检查与动态权重。
1、登录域名DNS服务商控制台,找到A记录设置页面。
2、删除原有单一A记录,新增两条A记录:
example.com → 192.168.1.10
example.com → 192.168.1.11
3、将TTL设为60秒,确保变更快速生效。
4、在每台后端服务器的宝塔中,分别部署完全相同的网站程序与SSL证书。
5、验证DNS解析结果:dig example.com +short,应交替返回两个IP地址。










