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

Лучшие игры с отслеживанием рук
Oculus Quest недавно представил отличную идею отслеживания рук без контроллеров. С постоянно растущим числом игр и действий, которые осуществляются фо...
Как показать наложение OSD в полноэкранных приложениях и играх Linux
Игра в полноэкранные игры или использование приложений в полноэкранном режиме без отвлекающих факторов может отрезать вас от соответствующей системной...
Топ-5 карт для захвата игр
Все мы видели и любили потоковые игры на YouTube. PewDiePie, Jakesepticye и Markiplier - лишь некоторые из лучших игроков, которые заработали миллионы...