Как установить HAProxy в Ubuntu 20.04 LTS

Как установить HAProxy в Ubuntu 20.04 LTS

 

В этом руководстве мы покажем вам, как установить HAProxy в Ubuntu 20.04 LTS. Для тех из вас, кто не знал, HAProxy — это бесплатный балансировщик нагрузки HTTP / TCP и прокси-сервер с высокой доступностью. Он распределяет запросы между несколькими серверами для устранения проблем, возникающих в результате сбоя одного сервера. HA Proxy используется рядом известных веб-сайтов, включая GitHub, Bitbucket, Stack Overflow, Reddit, Tumblr, Twitter и Tuenti, а также в продукте OpsWorks от Amazon Web Services.

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo‘ к командам для получения привилегий root. Я покажу вам пошаговую установку HAProxy на Ubuntu 20.04 (Focal Fossa). Вы можете следовать тем же инструкциям для Ubuntu 18.04, 16.04 и любого другого дистрибутива на основе Debian, например Linux Mint.

Установите HAProxy на Ubuntu 20.04 LTS Focal Fossa

Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие aptкоманды в терминале.

sudo apt update
sudo apt upgrade
sudo apt install software-properties-common

Шаг 2. Сведения о сети.

Чтобы установить и настроить балансировщик нагрузки HAProxy в системе Ubuntu 20.04, мы рассмотрим следующие три системы:

Web Server Details:
Server 1: web1.infoit.com.ua   192.168.77.20
Server 2: web2.infoit.com.ua   192.168.77.21HAProxy Server:
HAProxy: haproxy           192.168.77.46

Шаг 3. Установка HAProxy в Ubuntu 20.04.

Теперь мы добавляем репозиторий HAProxy PPA для Ubuntu:

sudo curl https://haproxy.debian.net/bernat.debian.org.gpg | apt-key add -
sudo echo "deb http://haproxy.debian.net $(lsb_release -cs)-backports-2.0 main" | tee /etc/apt/sources.list.d/haproxy.list
sudo add-apt-repository ppa:vbernat/haproxy-2.1

После этого вы можете установить HAProxy, используя следующую команду:

sudo apt update
sudo apt install haproxy

Шаг 4. Настройте HAProxy.

Основной файл конфигурации для HAProxy: Теперь редактируем и запускаем конфигурацию:/etc/haproxy/haproxy.cfg

sudo nano /etc/haproxy/haproxy.cfg

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

# add to the end# define frontend ( any name is OK for [http-in] )
frontend http-in
        # listen 80 port bind *:80 # set default backend default_backend    backend_servers # send X-Forwarded-For header option             forwardfor# define backend
backend backend_servers
        # balance with roundrobin balance            roundrobin # define backend servers server             node01 192.168.77.21:80 check
        server             node02 192.168.77.46:80 check

После этого вы можете перезапустить его, выполнив следующую команду:

sudo systemctl restart haproxy

Затем измените настройки на внутреннем веб-сервере, чтобы регистрировать заголовок X-Forwarded-For. Следующее относится к случаю настроек Apache2:

a2enmod remoteip
sudo nano /etc/apache2/apache2.conf

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

# line 212-215 : change like follows
# for RemoteIPInternalProxym, specify HAProxy IP addressRemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy192.168.77.20
LogFormat "%v:%p %a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

Сохраните и закройте файл, также перезапустите службу Apache:

sudo systemctl restart apache2

Шаг 5. Доступ к HAProxy.

Когда HAProxy настроен и запущен, откройте общедоступный IP-адрес вашего сервера балансировки нагрузки в веб-браузере и убедитесь, что вы правильно подключились к своему бэкэнду. Параметр stats URI в конфигурации включает страницу статистики по указанному адресу:

http://192.168.77.46

Поздравляю! Вы успешно установили HAProxy . Благодарим вас за использование этого руководства для установки HAProxy в вашей системе Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт HAProxy .