如何 运行 Pound 负载均衡器服务的多个实例
How to run multiple instance of Pound load balancer service
我按照 link 中的说明在我的 Fedora 服务器上设置了 Pound 负载均衡器。一切正常。 Pound 在端口 80 上 运行ning。现在我想在不同的端口上配置 Pound 并平衡 2 个其他不同的后端服务器。
我找到了这个 other link,其中详细说明了如何完成此操作。但是该教程路径与 Fedora 22 路径不匹配。
问题是,我想 (i) 在多个端口上配置 Pound,以平衡每个端口上的不同 IP,或者 (ii) 运行 2 个不同的 Pound 实例,每个端口都有单独的配置文件
终于自己想通了。
初始设置
- 使用命令 "sudo yum install Pound".
安装 Pound
- 开始英镑 运行 一次 "sudo service pound start"。
- 检查 pound 在 1 个实例中是否正常工作。
- 现在停止 pound 服务,然后再继续创建多个实例 "sudo service pound stop"
步骤 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 端口。
修改"Control" 路径和后端服务器以平衡每个实例的负载
sudo nano /etc/pound1.cfg
pound1.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
pound2.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
pound1.service
[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
pound2.service
[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 配置,因为我不需要它们
只需添加多个 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
我按照 link 中的说明在我的 Fedora 服务器上设置了 Pound 负载均衡器。一切正常。 Pound 在端口 80 上 运行ning。现在我想在不同的端口上配置 Pound 并平衡 2 个其他不同的后端服务器。
我找到了这个 other link,其中详细说明了如何完成此操作。但是该教程路径与 Fedora 22 路径不匹配。
问题是,我想 (i) 在多个端口上配置 Pound,以平衡每个端口上的不同 IP,或者 (ii) 运行 2 个不同的 Pound 实例,每个端口都有单独的配置文件
终于自己想通了。
初始设置
- 使用命令 "sudo yum install Pound". 安装 Pound
- 开始英镑 运行 一次 "sudo service pound start"。
- 检查 pound 在 1 个实例中是否正常工作。
- 现在停止 pound 服务,然后再继续创建多个实例 "sudo service pound stop"
步骤 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 端口。
修改"Control" 路径和后端服务器以平衡每个实例的负载
sudo nano /etc/pound1.cfg
pound1.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
pound2.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
pound1.service
[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
pound2.service
[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 配置,因为我不需要它们
只需添加多个 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