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

Как установить и настроить HAProxy в Ubuntu 22.04


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

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

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

В этом посте мы объясним, как установить HAProxy на Ubuntu 22.04. div-gpt-ad-howtoforge_com-medrectangle-3-0;var ffid=1;var alS=1021%1000;var container=document.getElementById(slotId);container.style.width=100%;var ins=document. createElement(ins);ins.id=slotId+-asloaded;ins.className=adsbygoogle ezasloaded;ins.dataset.adClient=pid;ins.dataset.adChannel=cid;if(ffid==2){ins.dataset.fullWidthResponsive= истинный;}

Предпосылки

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

Настройте веб-серверы Apache в качестве внутреннего сервера

Во-первых, вам нужно будет настроить два веб-сервера Apache в качестве внутренних серверов для выполнения этого руководства.

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

apt-get install apache2 -y

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

echo "<H1>Success! This is my first Apache Server</H1>" | tee /var/www/html/index.html

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

apt-get install apache2 -y

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

echo "<H1>Success! This is my second Apache Server</H1>" | tee /var/www/html/index.html

Когда вы закончите, вы можете приступить к установке сервера HAProxy.

Установить HAProxy

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

apt-get install haproxy -y

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

systemctl start haproxy
systemctl enable haproxy

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

Настроить HAProxy

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

nano /etc/haproxy/haproxy.cfg

Добавьте оба внутренних сервера Apache:

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 172.16.0.200:80 check
        server             backend02 172.16.0.201:80 check

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

Где: 172.16.0.200 — это IP-адрес первого внутреннего сервера Apache, а 172.16.0.201 — 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 Mon 2022-07-11 09:03:45 UTC; 45s ago
       Docs: man:haproxy(1)
             file:/usr/share/doc/haproxy/configuration.txt.gz
   Main PID: 48217 (haproxy)
      Tasks: 2 (limit: 2242)
     Memory: 71.3M
        CPU: 143ms
     CGroup: /system.slice/haproxy.service
             ??48217 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock
             ??48219 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock

Jul 11 09:03:45 ubuntu2204 systemd[1]: Starting HAProxy Load Balancer...
Jul 11 09:03:45 ubuntu2204 haproxy[48217]: [NOTICE]   (48217) : New worker #1 (48219) forked
Jul 11 09:03:45 ubuntu2204 systemd[1]: Started HAProxy Load Balancer.

Тест HAProxy

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

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

Заключение

В этом посте мы показали вам, как установить и настроить сервер HAProxy для распределения нагрузки между двумя веб-серверами Apache. на Убунту 22.04. Теперь вы можете внедрить HAProxy в рабочую среду, чтобы повысить производительность и доступность веб-приложений.