Поиск по сайту:

Как установить HAProxy на Debian 11


На этой странице

  1. Предпосылки
  2. Настройка внутренних веб-серверов
  3. Установите HAProxy
  4. Настройка HAProxy
  5. Подтвердить HAProxy
  6. Заключение

HAProxy — это бесплатное и надежное решение с открытым исходным кодом для обеспечения высокой доступности и балансировки нагрузки. Он распределяет нагрузку между несколькими серверами приложений и упрощает задачи обработки запросов. Его можно установить на все основные операционные системы Linux. Он популярен из-за своей эффективности, надежности и небольшого объема памяти и процессора.

В этом посте мы объясним, как установить HAProxy в системе Debian 11.

Предпосылки

  • Сервер под управлением Debian 11 для HAProxy.
  • Два сервера под управлением Debian 11 для внутреннего сервера Apache.
  • Пароль root настроен на всех серверах.

Настройка внутренних веб-серверов

Для целей этого руководства вам потребуется настроить два внутренних сервера Apache.

На первом внутреннем сервере установите пакет Apache с помощью следующей команды:

apt-get install apache2 -y

После установки Apache создайте пример страницы индекса Apache с помощью следующей команды:

echo "<H1>Welcome to the first Apache Server</H1>" | tee /var/www/html/index.html

На втором внутреннем сервере установите пакет Apache с помощью следующей команды:

apt-get install apache2 -y

Затем создайте образец страницы индекса Apache с помощью следующей команды:

echo "<H1>Welcome to the second Apache Server</H1>" | tee /var/www/html/index.html

Как только вы закончите, вы можете перейти к следующему шагу.

Установить HAProxy

По умолчанию HAProxy включен в стандартный репозиторий Debian 11. Вы можете установить его, выполнив следующую команду:

apt-get install haproxy -y

После установки HAProxy запустите службу HAProxy и включите ее запуск при перезагрузке системы:

systemctl start haproxy
systemctl enable haproxy

Как только вы закончите, вы можете перейти к следующему шагу.

Настроить HAProxy

Далее вам нужно будет отредактировать файл конфигурации HAProxy по умолчанию и определить внутренние веб-серверы.

nano /etc/haproxy/haproxy.cfg

Добавьте следующие строки:

frontend apache_front
        # Frontend listen port - 80
        bind *:80
        # Set the default backend
        default_backend    apache_backend_servers
        # Enable send X-Forwarded-For header
        option             forwardfor
  
# Define backend
backend apache_backend_servers                                                                                                                     
        # Use roundrobin to balance traffic
        balance            roundrobin
        # Define the backend servers
        server             backend01 192.168.1.10:80 check
        server             backend02 192.168.1.11:80 check

Сохраните и закройте файл, когда закончите.

Где: 192.168.1.10 — это IP-адрес первого внутреннего сервера Apache, а 192.168.1.11 — IP-адрес второго внутреннего сервера Apache.

Затем перезапустите службу HAProxy, чтобы применить изменения:

systemctl restart haproxy

Теперь вы можете проверить статус HAProxy с помощью следующей команды:

systemctl status haproxy

Вы получите следующий вывод:

? haproxy.service - HAProxy Load Balancer
     Loaded: loaded (/lib/systemd/system/haproxy.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-11-07 03:47:14 UTC; 9s ago
       Docs: man:haproxy(1)
             file:/usr/share/doc/haproxy/configuration.txt.gz
    Process: 86678 ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q $EXTRAOPTS (code=exited, status=0/SUCCESS)
   Main PID: 86680 (haproxy)
      Tasks: 3 (limit: 4679)
     Memory: 34.2M
        CPU: 61ms
     CGroup: /system.slice/haproxy.service
             ??86680 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock
             ??86682 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock

Nov 07 03:47:14 debian11 systemd[1]: Starting HAProxy Load Balancer...
Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_front started.
Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_front started.
Nov 07 03:47:14 debian11 systemd[1]: Started HAProxy Load Balancer.
Nov 07 03:47:14 debian11 haproxy[86680]: [NOTICE] 310/034714 (86680) : New worker #1 (86682) forked
Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_backend_servers started.
Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_backend_servers started.

Проверить HAProxy

На данный момент HAProxy настроен и запущен. Теперь пришло время протестировать HAProxy.

Откройте веб-браузер и введите URL-адрес http://your-haproxy-ip. Вы увидите, что HAProxy отправляет запросы на внутренние серверы один за другим после каждого обновления.

Заключение

Поздравляем! вы успешно установили HAProxy в Debian 11. Теперь вы можете внедрить HAProxy в производственной среде, чтобы повысить производительность и доступность вашего веб-приложения.