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 (фронт сървър)
Име на хост: уеб-сървър1, IP адрес: 192.168.72.158 (бекенд сървъри)
Име на хост: web-server2, IP адрес: 192.168.72.159 (бекенд сървъри)

Забележка: Трябва да имате права на sudo на всички сървъри.

Ще конфигурираме едната машина като балансьор на натоварването, а другите две като уеб сървъри. Сървърът HAproxy ще бъде нашият преден сървър, който ще получава заявките от потребителите и ще ги препраща към двата уеб сървъра. Уеб сървърите ще бъдат нашите Backend сървъри, които ще получават тези препратени заявки.

Ето как изглежда нашата настройка:

Настройка на уеб сървъри-Backend сървъри

В този раздел ще настроим два уеб сървъра (уеб сървър и уеб-сървър2) като нашите бекенд сървъри.

На уеб сървър1 (192.168.72.158)

Изпълнете стъпките по-долу във вашия уеб сървър. Не забравяйте да замените имената на хостове и IP адресите със съответните IP адреси и имена на хостове на вашите уеб сървъри.

1. Конфигурирайте файла с хостове

На уеб сървър, редактирайте / etc / hosts файл:

$ sudo nano / etc / hosts

След това добавете записа на името на хоста за HAproxy сървър, както следва:

hostname-of-HAproxy IP-адрес-на-HAproxy

В нашия сценарий това би било:

HAproxy 192.168.72.157

2. Настройване на уеб сървър Apache

Сега инсталирайте уеб сървъра на Apache, като използвате командата по-долу в терминала. Можете също да посетите нашата публикация на Как да инсталирам уеб сървъра Apache на Linux.

$ sudo apt инсталирайте apache2

След това активирайте и стартирайте услугата Apache, като използвате командите по-долу в терминала:

$ sudo systemctl активира apache2
$ sudo systemctl стартира apache2

Създайте индексен файл за уеб сървър използвайки командата по-долу в терминала:

$ ехо "

Здравейте! Това е уеб сървър1: 192.168.72.158

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

Ако защитната стена работи на вашата система, ще трябва да разрешите трафик на Apache през нея:

$ sudo ufw позволяват 80 / tcp

След това презаредете конфигурациите на защитната стена:

$ ufw презареди

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

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

Освен това можете да използвате командата curl, за да тествате уеб страницата.

$ къдряне

На уеб сървър-2 192.168.72.159)

Изпълнете стъпките по-долу във втория си уеб сървър. Не забравяйте да замените имената на хостове и IP адресите със съответните IP адреси и имена на хостове на вашите уеб сървъри.

1. Конфигурирайте файла с хостове

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

$ sudo nano / etc / hosts

След това добавете записа на името на хоста за HAproxy сървър, както следва:

HAproxy 192.168.72.157

2. Инсталирайте уеб сървър Apache

Сега инсталирайте уеб сървъра на Apache, като използвате командата по-долу в терминала.

$ sudo apt инсталирайте apache2

След това активирайте и стартирайте услугата Apache, като използвате командите по-долу в терминала:

$ sudo systemctl активира apache2
$ sudo systemctl стартира apache2

Създайте индексен файл за web-server2, като използвате командата по-долу в Terminal:

$ ехо "

Здравейте! Това е уеб сървър2: 192.168.72.159

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

Разрешаване на Apache в защитната стена:

$ sudo ufw позволяват 80 / tcp

и след това презаредете конфигурациите на защитната стена:

$ ufw презареди

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

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

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

$ къдряне

Сега нашите уеб сървъри на Apache са готови.

Настройване на HAproxy балансир на натоварването-Frontend сървър

В този раздел ще настроим HAproxy балансьор на натоварването за нашия уеб сървъри. Този HAproxy сървър ще действа като преден сървър и приема входящи заявки от клиенти.

На HAproxy сървър (192.168.72.157), изпълнете стъпките по-долу, за да настроите балансиращия товар.

1. Конфигурирайте файла с хостове

Редактирайте / etc / hosts файл, използвайки командата по-долу в терминала:

$ sudo nano / etc / hosts

Добавете следните записи на име на хост и за двете Apache уеб сървъри заедно със собственото си име на хост:

192.168.72.157 HAproxy
192.168.72.158 уеб сървър
192.168.72.159 уеб сървър2

Сега запазете и затворете / etc / hosts файл.

Инсталиране на балансиращ товара HAproxy

Сега в тази стъпка ще инсталираме HAproxy на един от нашия сървър на Ubuntu (192.168.72.157). За да направите това, актуализирайте apt, като използвате следната команда в терминала:

$ sudo apt-get update

След това актуализирайте пакетите, като използвате командата по-долу:

$ sudo apt-get ъпгрейд

Сега инсталирайте HAproxy, като използвате следната команда в терминала:

$ sudo sudo apt инсталира haproxy

След като инсталацията на HAproxy сървъра приключи, можете да го потвърдите, като използвате командата по-долу в терминала:

$ хапрокси -v

Той ще ви покаже инсталираната версия на HAproxy във вашата система, която потвърждава, че HAproxy е инсталиран успешно.

Конфигуриране на HAproxy като балансиращ товар

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

$ sudo nano / и т.н. / хапрокси / хапрокси.cfg

Добавете следните редове в хапрокси.cfg файл, заместващ IP адресите със собствени IP адреси.

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

Конфигуриране на мониторинг на HAproxy

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

слушайте статистика
обвързване 192.168.72.157: 8080
режим http
опция напред за
опция httpclose
статистика активира
статистика шоу-легенди
статистика опресняване 5s
статистика uri / stats
статистика сфера Haproxy \ Статистика
статистика auth kbuzdar: kbuzdar         # Вход за потребител и парола за наблюдение
статистика admin, ако TRUE
default_backend уеб-бекенд

Горната конфигурация позволява HAproxy -статистикаâ € страница с помощта на статистика директива и я обезпечава с http основно удостоверяване с помощта на потребителското име и паролата, дефинирани от статистика авт директива.

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

Сега проверете конфигурационния файл, като използвате командата по-долу в терминала:

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

Следващият изход показва, че конфигурациите са правилни.

Сега, за да приложите конфигурациите, рестартирайте услугата HAproxy:

$ sudo systemctl рестартирайте хапрокси.обслужване

Той ще спре и след това ще стартира услугата HAproxy.

За да проверите състоянието на услугата HAproxy, командата ще бъде:

$ sudo systemctl статус хапрокси.обслужване

The активен (работи) статус в следващия изход показва, че HAproxy сървърът е активиран и работи добре.

Ето някои други команди за управление на HAproxy сървъра:

За да стартирате HAproxy сървъра, командата ще бъде:

$ sudo systemctl стартира хапрокси.обслужване

За да спрете HAproxy сървъра, командата ще бъде:

$ sudo systemctl спре хапрокси.обслужване

В случай, че искате временно да деактивирате HAproxy сървъра, командата ще бъде:

$ sudo systemctl деактивира хапрокси.обслужване

За да активирате отново HAproxy сървъра, командата ще бъде:

$ sudo systemctl активира хапрокси.обслужване

Тествайте 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 сървъра.

$ curl 192.168.72.157

или

$ curl HAproxy

Изпълнете командата curl няколко пъти и ще видите как реакцията се редува между двата уеб сървъра.

Вместо да изпълнявате командите няколко пъти, можете също да изпълните следния едноредов скрипт, за да тествате HAproxy сървъра:

$ докато е вярно; правя къдрици 192.168.72.157; сън 1; Свършен

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

За достъп до страницата за наблюдение на HAproxy напишете http: // последвано от IP адреса / името на хоста на HAproxy сървър и порт 8080 / статистика:

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

или

http: // HAproxy: 8080 / stats

Ще се появи следното поле за удостоверяване. Въведете потребителското име и парола сте конфигурирали по-рано в конфигурациите и след това натиснете Добре.

Това е статистическият отчет за нашия HAproxy сървър.

Там имате инсталация и конфигурация на HAproxy балансьор на натоварването в системата Linux. Току-що обсъдихме основната настройка и конфигурация на HAproxy като балансиращ товар за уеб сървъри на Apache. Разгледахме и някои команди за управление на HAproxy сървъра. В крайна сметка тествахме балансирането на натоварването чрез браузъра и командата curl. За повече информация посетете официалната документация на HAproxy

Топ 5 продукти за ергономична компютърна мишка за Linux
Продължителната употреба на компютър причинява ли болка в китката или пръстите? Страдате ли от схванати стави и постоянно ли ви се налага да си ръкува...
Как да променяте настройките на мишката и тъчпада с помощта на Xinput в Linux
Повечето дистрибуции на Linux се доставят с библиотека “libinput” по подразбиране за обработка на входни събития в системата. Той може да обработва вх...
Пренастройте бутоните на мишката си по различен начин за различен софтуер с X-Mouse Button Control
Може би се нуждаете от инструмент, който може да промени контрола на мишката с всяко приложение, което използвате. Ако случаят е такъв, можете да изпр...