如何运行Pound负载均衡器服务的多个实例

时间:2016-02-04 09:07:18

标签: fedora pound

我按照link处的说明在我的fedora服务器上设置了Pound负载均衡器。一切正常。 Pound正在端口80上运行。现在我想在不同的端口上配置Pound并平衡其他2个不同的后端服务器。

我找到了这个other link,详细说明了如何实现这一目标。但该教程路径与Fedora 22路径不匹配。

问题是,我想要(i)在多个端口上配置Pound,以平衡每个端口上的不同IP或(ii)为每个端口运行2个不同的Pound实例和单独的配置文件

1 个答案:

答案 0 :(得分:1)

终于把它弄清楚了。

初始设置

  1. 使用“sudo yum install Pound”命令安装Pound。
  2. 开始点击并运行一次“sudo service pound start”。
  3. 使用1个实例检查磅是否正常工作。
  4. 现在停止英镑服务,然后继续创建多个实例“sudo service pound stop”
  5. 第1步

    分别为每个实例创建pound配置文件。默认文件位于/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
    

    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步

    复制pound服务文件以为每个实例创建单个文件。它位于/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配置,因为我不需要它们