我按照此链接上的说明在我的 Fedora 服务器上设置 Pound 负载均衡器。一切正常。Pound 在端口 80 上运行。现在我想在不同的端口上配置 Pound 并平衡 2 个其他不同的后端服务器。
我找到了这个其他链接,其中详细说明了如何完成此操作。但该教程路径与 Fedora 22 路径不匹配。
问题是,我想(i)在多个端口上配置 Pound,以平衡每个端口上的不同 IP,或者(ii)运行 2 个不同的 Pound 实例,每个端口都有单独的配置文件
只需添加多个ListenHTTP
指令:
ListenHTTP
Address 0.0.0.0
Port 8879
Service
BackEnd
Address 139.16.00.82
Port 8879
End
BackEnd
Address 139.16.00.88
Port 8879
End
End
End
ListenHTTP
Address 0.0.0.0
Port 80
Service
BackEnd
Address 139.16.00.85
Port 8080
End
BackEnd
Address 139.16.00.86
Port 8080
End
End
End
终于自己弄明白了。
最初设定
步骤1
分别为每个实例创建磅配置文件。默认文件位于 /etc/pound.cfg
sudo cp -p /etc/pound.cfg /etc/pound1.cfg
sudo cp -p /etc/pound.cfg /etc/pound2.cfg
第2步
分别为每个实例创建虚拟 pid 文件。默认文件位于 /var/run/pound.pid
sudo cp -p /var/run/pound.pid /var/run/pound1.pid
sudo cp -p /var/run/pound.pid /var/run/pound2.pid
第 3 步
编辑默认配置文件并为每个实例分配不同的 http 端口。
修改“控制”路径和后端服务器以对每个实例进行负载平衡
sudo nano /etc/pound1.cfg
磅1.cfg
User "pound"
Group "pound"
Control "/var/lib/pound/pound1.cfg"
ListenHTTP
Address 0.0.0.0
Port 8879
End
Service
BackEnd
Address 139.16.00.82
Port 8879
End
BackEnd
Address 139.16.00.88
Port 8879
End
End
编辑第二个实例的配置
sudo nano /etc/pound2.cfg
磅2.cfg
User "pound"
Group "pound"
Control "/var/lib/pound/pound2.cfg"
ListenHTTP
Address 0.0.0.0
Port 80
End
Service
BackEnd
Address 139.16.00.85
Port 8080
End
BackEnd
Address 139.16.00.86
Port 8080
End
End
第4步
复制磅服务文件为每个实例创建单独的文件。这将位于 /usr/lib/systemd/system/pound.service
sudo cp -p /usr/lib/systemd/system/pound.service /usr/lib/systemd/system/pound1.service
sudo cp -p /usr/lib/systemd/system/pound.service /usr/lib/systemd/system/pound2.service
编辑服务文件以使用适当的配置和 pid 文件
sudo nano /usr/lib/systemd/system/pound1.service
磅1.服务
[Unit]
Description=Pound Reverse Proxy And Load-balancer
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/var/run/pound1.pid
ExecStart=/usr/sbin/pound -f /etc/pound1.cfg -p /var/run/pound1.pid
[Install]
WantedBy=multi-user.target
英镑2.服务
[Unit]
Description=Pound Reverse Proxy And Load-balancer
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/var/run/pound2.pid
ExecStart=/usr/sbin/pound -f /etc/pound2.cfg -p /var/run/pound2.pid
[Install]
WantedBy=multi-user.target
第 5 步
现在重新加载 systemctl 守护进程并开始运行这两个服务
sudo systemctl daemon-reload
sudo service pound1 start
sudo service pound2 start
如果您遇到任何问题,请使用以下命令检查状态,这有助于我发现一些问题
sudo service pound1 status
注意: 我已经删除了 cfg 文件中的 https 配置,因为我不需要它们