Ubuntu

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

Как установить и настроить HAproxy в Ubuntu 20.04 LTS
HAproxy - это легкий пакет с открытым исходным кодом, который обеспечивает высокую доступность и балансировку нагрузки для программ на основе TCP и HTTP. Распределяет нагрузку между веб-серверами и серверами приложений. HAproxy доступен почти для всех дистрибутивов Linux. Это широко используемый балансировщик нагрузки, популярный своей эффективностью, надежностью и малым объемом памяти и процессора. В этом посте мы объясним, как установить и настроить HAproxy в системе Ubuntu.

Мы установили три машины. Мы установим HAproxy на один сервер и веб-серверы Apache на два сервера. Затем наш сервер HAproxy будет действовать как балансировщик нагрузки и распределять нагрузку между веб-серверами Apache.

Примечание: Процедура и команды, упомянутые в этом посте, были протестированы на Ubuntu 20.04 LTS (фокальная ямка). Та же процедура действительна для дистрибутивов Debian и Mint.

Сведения о сети

Мы будем использовать три сервера Ubuntu; все в одной сети. Подробная информация о наших серверах:

Имя хоста: HAproxy, IP-адрес: 192.168.72.157 (Frontend-сервер)
Имя хоста: web-server1, IP-адрес: 192.168.72.158 (внутренние серверы)
Имя хоста: web-server2, IP-адрес: 192.168.72.159 (внутренние серверы)

Примечание: У вас должны быть права sudo на всех серверах.

Мы настроим одну машину как балансировщик нагрузки, а две другие как веб-серверы. Сервер HAproxy будет нашим внешним сервером, который будет получать запросы от пользователей и пересылать их на два веб-сервера. Веб-серверы будут нашими внутренними серверами, которые будут получать эти перенаправленные запросы.

Вот как выглядит наша установка:

Настройка веб-серверов - Backend-серверы

В этом разделе мы настроим два веб-сервера (веб-сервер1 а также веб-сервер2) в качестве наших внутренних серверов.

На веб-сервере1 (192.168.72.158)

Выполните следующие шаги на своем веб-сервере. Обязательно замените имена хостов и IP-адреса соответствующими IP-адресами и именами хостов ваших веб-серверов.

1. Настроить файл hosts

На веб-сервер1, редактировать / etc / hosts файл:

$ sudo nano / etc / hosts

Затем добавьте запись имени хоста для HAproxy сервер следующим образом:

имя-хоста-HAproxy IP-адрес-HAproxy

В нашем сценарии это будет:

HAproxy 192.168.72.157

2. Настроить веб-сервер Apache

Теперь установите веб-сервер Apache, используя следующую команду в Терминале. Вы также можете посетить наш пост на Как установить веб-сервер Apache в Linux.

$ sudo apt install apache2

Затем включите и запустите службу Apache, используя следующие команды в Терминале:

$ sudo systemctl включить apache2
$ sudo systemctl start apache2

Создайте индексный файл для веб-сервер1 используя следующую команду в Терминале:

$ echo "

Привет! Это webserver1: 192.168.72.158

"| sudo tee / var / www / html / index.html

Если в вашей системе работает брандмауэр, вам необходимо разрешить трафик Apache через него:

$ sudo ufw разрешить 80 / tcp

Затем перезагрузите конфигурации брандмауэра:

$ ufw перезагрузить

Теперь попробуйте получить доступ к сайту в своем веб-браузере, набрав http: // за которым следует IP-адрес или имя хоста вашего веб-сервера.

http: // имя-хоста или IP-адрес

Кроме того, вы также можете использовать команду curl для тестирования веб-страницы.

$ curl

На веб-сервере-2192.168.72.159)

Выполните следующие шаги на своем втором веб-сервере. Обязательно замените имена хостов и IP-адреса соответствующими IP-адресами и именами хостов ваших веб-серверов.

1. Настроить файл hosts

В веб-сервер2, редактировать / etc / hosts файл:

$ sudo nano / etc / hosts

Затем добавьте запись имени хоста для HAproxy сервер следующим образом:

HAproxy 192.168.72.157

2. Установите веб-сервер Apache

Теперь установите веб-сервер Apache, используя следующую команду в Терминале.

$ sudo apt install apache2

Затем включите и запустите службу Apache, используя следующие команды в Терминале:

$ sudo systemctl включить apache2
$ sudo systemctl start apache2

Создайте индексный файл для веб-сервера2, используя следующую команду в Терминале:

$ echo "

Привет! Это веб-сервер2: 192.168.72.159

"| sudo tee / var / www / html / index.html

Разрешите Apache в брандмауэре:

$ sudo ufw разрешить 80 / tcp

а затем перезагрузите конфигурации брандмауэра:

$ ufw перезагрузить

Теперь попробуйте получить доступ к сайту в своем веб-браузере, набрав http: // за которым следует IP-адрес или имя хоста.

http: // имя-хоста или IP-адрес

В качестве альтернативы вы можете использовать команду curl для тестирования веб-страницы.

$ curl

Теперь наши веб-серверы Apache готовы.

Настройка балансировщика нагрузки HAproxy-Frontend server

В этом разделе мы настроим балансировщик нагрузки HAproxy для нашего веб-серверы. Этот HAproxy-сервер будет действовать как интерфейсный сервер и принимать входящие запросы от клиентов.

На HAproxy сервер (192.168.72.157) выполните следующие шаги, чтобы настроить балансировщик нагрузки.

1. Настроить файл hosts

Отредактируйте / etc / hosts файл, используя следующую команду в Терминале:

$ sudo nano / etc / hosts

Добавьте следующие записи имени хоста для обоих Apache веб-серверы вместе с собственным именем хоста:

192.168.72.157 HA прокси
192.168.72.158 веб-сервер1
192.168.72.159 веб-сервер2

Теперь сохраните и закройте / etc / hosts файл.

Установка балансировщика нагрузки HAproxy

Теперь на этом этапе мы будем устанавливать HAproxy на одном из наших серверов Ubuntu (192.168.72.157). Для этого обновите apt, используя следующую команду в Терминале:

$ sudo apt-get update

Затем обновите пакеты, используя следующую команду:

$ sudo apt-get upgrade

Теперь установите HAproxy, используя следующую команду в Терминале:

$ sudo sudo apt установить haproxy

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

$ haproxy -v

Он покажет вам установленную версию HAproxy в вашей системе, которая подтверждает, что HAproxy был успешно установлен.

Настройка HAproxy в качестве балансировщика нагрузки

В следующем разделе мы настроим HAproxy как балансировщик нагрузки. Сделать так, отредактируйте / etc / haproxy / haproxy.cfg файл:

$ sudo nano / и т.д. / haproxy / haproxy.cfg

Добавьте следующие строки в haproxy.cfg, заменяя IP-адреса вашими собственными IP-адресами.

В интерфейс веб-интерфейс в приведенных выше строках конфигурации указывает HAproxy прослушивать входящие запросы на порт 80 из 192.168.72.157 а затем перенаправить их на серверные серверы, настроенные в бэкэнд веб-сервер. Во время настройки замените IP-адреса соответствующими IP-адресами ваших веб-серверов.

Настройка мониторинга HAproxy

С помощью мониторинга HAproxy вы можете просматривать много информации, включая статус сервера, передаваемые данные, время безотказной работы, скорость сеанса и т. Д. Чтобы настроить мониторинг HAproxy, добавьте следующие строки в файл конфигурации, расположенный по адресу / и т.д. / haproxy / haproxy.cfg:

слушать статистику
привязать 192.168.72.157: 8080
режим http
вариант вперед
опция httpclose
статистика включить
статистика шоу-легенд
статистика обновляется 5 сек
статистика uri / статистика
stats realm Haproxy \ Статистика
stats auth kbuzdar: kbuzdar         # Логин Пользователь и пароль для мониторинга
администратор статистики, если ИСТИНА
default_backend веб-сервер

Приведенная выше конфигурация включает HAproxy â € œстатистикаâ € страницы, используя статистика директива и защищает ее с помощью http базовая аутентификация с использованием имени пользователя и пароля, определенных статистика авторизации директива.

Как только вы закончите с конфигурациями, сохраните и закройте haproxy.cfg файл.

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

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

Следующий вывод показывает, что конфигурации верны.

Теперь, чтобы применить настройки, перезапустите службу HAproxy:

$ sudo systemctl перезапустить haproxy.услуга

Он остановится, а затем запустит службу HAproxy.

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

$ sudo systemctl status haproxy.услуга

В активный (работает) Статус в следующих выходных данных показывает, что сервер HAproxy включен и работает нормально.

Вот еще несколько команд для управления сервером HAproxy:

Чтобы запустить сервер HAproxy, необходимо выполнить следующую команду:

$ sudo systemctl start haproxy.услуга

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

$ sudo systemctl stop haproxy.услуга

Если вы хотите временно отключить сервер HAproxy, используйте следующую команду:

$ sudo systemctl отключить haproxy.услуга

Чтобы повторно включить сервер HAproxy, введите следующую команду:

$ sudo systemctl включить haproxy.услуга

Тест HAproxy

Перед тестированием настройки HAproxy убедитесь, что у вас есть подключение к веб-серверам. С вашего HAproxy-сервера проверьте связь с обоими веб-серверами по их IP-адресам или именам хостов.

$ ping имя-хоста-или-IP-адрес

Следующий вывод показывает, что сервер HAproxy может подключаться к обоим веб-серверам.

Протестируйте прокси HA с помощью веб-браузера

Теперь на вашем сервере HAproxy откройте любой веб-браузер и введите http: // за которым следует IP-адрес сервера HAproxy, который в нашем случае 192.168.72.157.

http: // 192.168.72.157

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

Это ответ, который мы получили, когда посетили http: // 192.168.72.157 впервые:

Это ответ, который мы получили, когда перезагрузили веб-страницу:

Вы также можете использовать имя хоста вместо IP-адреса сервера HAproxy.

Тестирование прокси HA с помощью curl

Вы также можете использовать команду curl в Linux для проверки настройки HAproxy. Откройте Терминал и введите завиток за которым следует IP-адрес или имя хоста сервера HAproxy.

завиток 192.168.72.157

или же

$ curl HAproxy

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

Вместо того, чтобы запускать команды несколько раз, вы также можете запустить следующий однострочный сценарий для тестирования сервера HAproxy:

$ пока правда; сделать завиток 192.168.72.157; сон 1; Выполнено

Тестирование мониторинга HAproxy

Чтобы получить доступ к странице мониторинга HAproxy, введите http: // за которым следует IP-адрес / имя хоста сервера HAproxy и порт 8080 / stats:

http: // 192.168.72.157: 8080 / статистика

или же

http: // HAproxy: 8080 / stats

Появится следующее окно аутентификации. Входить Имя пользователя а также пароль вы настроили ранее в конфигурациях, а затем нажмите ОК.

Это статистический отчет для нашего сервера HAproxy.

Здесь у вас есть установка и настройка балансировщика нагрузки HAproxy в системе Linux. Мы только что обсудили базовую настройку и конфигурацию HAproxy в качестве балансировщика нагрузки для веб-серверов Apache. Мы также рассмотрели некоторые команды для управления сервером HAproxy. В итоге мы протестировали балансировку нагрузки через браузер и команду curl. Для получения дополнительной информации посетите официальную документацию HAproxy

Как установить League Of Legends на Ubuntu 14.04
Если вы поклонник League of Legends, то это возможность для вас протестировать League of Legends. Обратите внимание, что LOL поддерживается в PlayOnLi...
Установите последнюю версию игры OpenRA Strategy в Ubuntu Linux
OpenRA - это игровой движок Libre / Free Real Time Strategy, воссоздающий ранние игры Westwood, такие как классическая Command & Conquer: Red Alert. Р...
Установите последнюю версию эмулятора Dolphin для Gamecube и Wii в Linux
Эмулятор Dolphin позволяет вам играть в выбранные вами игры Gamecube и Wii на персональных компьютерах (ПК) Linux. Являясь свободно доступным игровым...