Как запустить несколько экземпляров службы балансировки нагрузки Pound

Я следовал инструкции по этой ссылке, чтобы настроить балансировщик нагрузки на моем сервере fedora. Все отлично работает Pound работает на 80-м порту. Теперь я хочу настроить Pound на другом порту и сбалансировать 2 других сервера.

Я нашел эту другую ссылку, которая подробно описывает, как это сделать. Но этот учебный путь не совпадает с путями Fedora 22.

Дело в том, что я хочу либо (i) настроить Pound на несколько портов, который балансирует разные IP на каждом порту, либо (ii) запустить 2 разных экземпляра Pound с отдельными файлами конфигурации для каждого порта

2 ответа

Решение

Наконец-то разобрался сам.

Начальная настройка

  1. Установите Pound с помощью команды "sudo yum install Pound".
  2. Запустите фунт и запустите его один раз "sudo service pound start".
  3. Проверьте, нормально ли работает фунт с 1 экземпляром.
  4. Теперь остановите фунт, прежде чем переходить к созданию нескольких экземпляров "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

Редактировать конфиг для 2-го экземпляра

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

Примечание: я удалил конфигурацию https в моих файлах cfg, так как они мне не нужны

Просто добавьте несколько 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
Другие вопросы по тегам