Запуск HAProxy на Debian 11 и Ubuntu Server 22.04

Краткая инструкция по запуску балансировщика нагрузки HAProxy на ОС Debian GNU/Linux 11.3 и Ubuntu Server 22.04.

В первую очередь установим пакет haproxy

# apt install haproxy

Затем открываем файл /etc/haproxy/haproxy.cfg

# nano /etc/haproxy/haproxy.cfg

и в самом конце допишем такой кусок конфигурации:

###############
frontend dvm30
        bind *:80
        default_backend dvm30_back

frontend dvm
        bind *:8080
        default_backend dvm_back

backend dvm30_back
        balance roundrobin
        server dvm31 192.168.1.31:80
        server dvm32 192.168.1.32:80

backend dvm_back
        server dvm 192.168.1.20:80

###############

Теперь подробнее о нём

У нас имеются 4 машины

  • две — с веб-сервером nginx: dvm31 с IP 192.168.1.31 и dvm32 с IP 192.168.1.32, обе — с открытым портом 80/tcp (это указано в параметре bind);
  • одна машина — это сервер с HAProxy — dvm30, например, с IP 192.168.1.30;
  • и ещё одна — тоже, с веб-сервером nginx или apache — dvm с IP 192.168.1.20, она также использует порт 80/tcp, но обратиться к этой машине возможно только через порт 8080/tcp (это также указано в параметре bind).

В данном конфиге запросы поступают равномерно по всем перечисленным серверам, но можно распределить их по количеству запросов, добавив параметр weight, например, каждый 10-й запрос будет отправляться на сервер dvm32:

        server dvm31 192.168.1.31:80 weight 90
        server dvm32 192.168.1.32:80 weight 10

После этого перезапустим службу haproxy

# systemctl restart haproxy

На другой машине в сети в браузере вводим http://ИмяХоста/ или http://IP_сервера/ (IP сервера в данном случае 192.168.1.30) и подключимся к веб-серверам 192.168.1.31 и 192.168.1.32.

У HAProxy есть также множество других фишек, подходящих под определённые задачи. Все они описаны в документации и различных мануалах, которые можно найти на просторах всемирной паутины.

Добавить комментарий

Ваш адрес email не будет опубликован.