Поиск по сайту:
Наши слабости нам уже не вредят, когда мы их знаем (Г. Лихтенберг).

Установка HAProxy для настройки сервера балансировки нагрузки в Debian 10

01.01.2021
Установите HAProxy для настройки сервера балансировки нагрузки в Debian 10

Балансировка нагрузки – наиболее распространенная практика распределения входящего веб-трафика между несколькими внутренними серверами. Это делает приложение высокодоступным, даже если по какой-то причине некоторые серверы выходят из строя. Балансировка нагрузки увеличивает эффективность и надежность веб-приложения. Балансировщик нагрузки HAProxy используется с той же целью. Это наиболее широко используемый в промышленности балансировщик нагрузки. Согласно официальному сайту, HAProxy используется ведущими компаниями, такими как AWS, Fedora, Github и многими другими.

HAProxy или High Availability Proxy обеспечивает высокую доступность и решение для прокси. Он написан на C и работает на сетевом и прикладном уровнях модели TCP/IP. Лучше всего то, что у него есть бесплатная версия сообщества, и это приложение с открытым исходным кодом. Он работает в операционных системах Linux, FreeBSD и Solaris. Корпоративная версия тоже есть, но имеет свою цену.

В этой статье мы увидим, как установить HAProxy и настроить сервер балансировки нагрузки в Debian 10.

 

Предпосылки:

  1. «Sudo» доступ ко всем машинам и базовые знания о запуске команд в терминале Linux.
  2. Частные IP-адреса добавлены к балансировщику нагрузки и внутренним серверам.
  3. Операционная система Debian 10 установлена на всех машинах.

 

Установка HAProxy на Debian 10

В этой статье мы предположим следующую конфигурацию IP-адреса:

  1. Балансировщик нагрузки HAProxy 10.0.12.10
  2. Веб-сервер1: IP-адрес: 10.0.12.15
  3. Веб-сервер2: IP-адрес: 10.0.12.16

 

Шаг 1. Обновите системный репозиторий Debian и пакеты.

Сначала выполните приведенные ниже команды на всех системах, чтобы обновить пакеты программного обеспечения до последней версии.

$ sudo apt update

$ sudo apt upgrade -y

Шаг: 2 Установите Nginx на внутренние серверы

Подготовьте свои внутренние серверы, установив веб-сервер Nginx на каждом. Вы также можете установить другие веб-серверы, такие как apache.

Читать  Проверка свободного места на VPS или выделенном сервере + Email-оповещение с Monit

Чтобы установить Nginx, выполните следующие команды на каждом внутреннем сервере в вашей среде:

$ sudo apt install nginx

Шаг: 3 После того, как Nginx будет установлен на ваших внутренних серверах, запустите службу, как показано ниже:

$ sudo systemctl start nginx

СОВЕТ : Мы также можем управлять веб-сервером nginx, используя следующую команду:

$ sudo /etc/init.d/nginx “option”

option: start reload restart status stop

Шаг: 4 Создайте собственные индексные страницы в веб-папке каждого веб-сервера Nginx. Это поможет нам определить, какой внутренний сервер обслуживает входящие запросы.

На каждом веб-сервере выполните следующие задачи:

Сделайте резервную копию исходного индексного файла с помощью следующей команды:

$ sudo cp /usr/share/nginx/html/index.html /usr/share/nginx/html/index.html.orig

 

Добавьте собственный текст в файл index.html. Мы добавляем IP-адрес каждого веб-сервера.

Для веб-сервера 1:

$ sudo echo "Web server 1: 10.0.12.15"  | sudo tee /usr/share/nginx/html/index.html

 

Для веб-сервера 2:

$ sudo echo "Web server 2: 10.0.12.16"  | sudo tee /usr/share/nginx/html/index.html

 

Вы также можете использовать редактор Vim, если вам это удобнее. Это показано ниже:

$ sudo vi /usr/share/nginx/html/index.html

 

Когда файл откроется, введите текст и сохраните файл.

Откройте файл виртуального хоста по умолчанию в каталоге “/etc/nginx/sites-available/”.

$ sudo nano /etc/nginx/sites-available/default

 

Теперь внутри блока сервера измените корневую директиву с “/var/www/html” на “/usr/share/nginx/html”.

Чтобы проверить конфигурацию Nginx, выполните следующую команду:

$ sudo nginx -t

Шаг 5: Теперь перезапустите службу с помощью команды:

$ sudo systemctl restart nginx

 

Вы можете проверить статус nginx, используя следующую команду:

$ sudo systemctl status nginx

Шаг: 6 Чтобы установить HAProxy в Debian 10 (Buster), выполните следующую команду на балансировщике нагрузки.

$ sudo apt install haproxy -y

 

Читать  Как настроить SSH ключи в Debian 10

Совет: после установки HAProxy вы можете управлять HAProxy с помощью сценария инициализации. Для этого установите для параметра «enabled» значение 1 в “/etc/default/haproxy”, как показано ниже:

$ sudo vi /etc/default/haproxy

ENABLED=1

 

Теперь со сценарием инициализации можно использовать следующую опцию:

$ sudo service haproxy “option.”

option: start reload restart status stop

Шаг: 7 Теперь настройте балансировщик нагрузки HAProxy, отредактировав файл конфигурации по умолчанию haproxy, то есть «/etc/haproxy/haproxy.cfg». Чтобы отредактировать этот файл, выполните следующую команду

$ sudo vi /etc/haproxy/haproxy.cfg

 

Совет: сделайте резервную копию исходного файла, чтобы мы были в безопасности, если что-то пойдет не так. Чтобы выполнить резервное копирование, используйте следующую команду:

$ sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.orig

 

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

frontend Local_Server

bind 10.0.12.10:80

mode http

default_backend webserver

backend webserver

mode http

balance roundrobin

option forwardfor

http-request set-header X-Forwarded-Port %[dst_port]

http-request add-header X-Forwarded-Proto https if { ssl_fc }

option httpchk HEAD / HTTP/1.1rnHost:localhost

server web1 10.0.12.15:80

server web2 10.0.12.16:80

 

Примечание
Не забудьте изменить IP-адреса в приведенном выше файле на тот, который вы добавили на свои веб-серверы.

 

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

$ sudo haproxy -c -f /etc/haproxy/haproxy.cfg

 

Если все пойдет правильно, появится такой вывод: “Configuration file is valid.”. Если вы получите какую-либо ошибку в выводе, перепроверьте файл конфигурации и проверьте его еще раз.

 

Шаг: 9 Теперь перезапустите службу HAProxy, чтобы применить изменения.

$ sudo service haproxy restart

Тестирование конфигурации

Теперь пора проверить, правильно ли работает наша установка. Введите IP-адрес системы балансировки нагрузки в веб-браузере (в нашем случае это 10.0.12.10) и постоянно обновляйте страницу 2–4 раза, чтобы убедиться, что балансировщик нагрузки HAProxy работает правильно. Вы должны увидеть разные IP-адреса или любой текст, который вы ввели в файл index.html, когда продолжите обновлять страницу несколько раз.

Читать  Как настроить серверные блоки Nginx в Ubuntu 22.04

Другой способ проверки – отключить один веб-сервер и проверить, обслуживает ли другой веб-сервер запросы.

На этом пока все! Попробуйте поэкспериментировать с HAProxy, чтобы узнать больше о том, как он работает. Например, вы можете попробовать:

  • Интеграция другого веб-сервера рядом с nginx.
  • Изменение алгоритма балансировки нагрузки на другой, кроме циклического.
  • Настройка проверки работоспособности HAProxy, чтобы определить, работает ли внутренний сервер.
  • Применение липких сеансов для подключения пользователя к одному и тому же внутреннему серверу.
  • Использование статистики HAProxy для получения информации о трафике на серверах.

HAProxy имеет обширную документацию, доступную как для версии сообщества HAProxy, так и для версии HAProxy для предприятий . Изучите эту документацию, чтобы получить больше информации о повышении производительности и надежности вашей серверной среды.

Это руководство было успешно выполнено в Debian 10 (Buster). Попробуйте установить HAProxy на другие дистрибутивы на основе Debian, такие как Ubuntu, Linux Mint и т. д. Пожалуйста, не забудьте поделиться этим руководством с другими.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 3,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Blizzard Entertainment - компания по разработке игр, которая создает несколько…

Спасибо!

Теперь редакторы в курсе.