HAProxy

Как да настроите HAProxy като балансиращ товар за Nginx в CentOS 8

Как да настроите HAProxy като балансиращ товар за Nginx в CentOS 8
Прокси за висока наличност, съкратен също като HAProxy, е лек и бърз балансиращ товар, който също се удвоява като прокси сървър. Като балансьор на натоварването, той играе решаваща роля при разпределението на входящия уеб трафик между множество уеб сървъри, използвайки определени критерии. По този начин той осигурява висока наличност и толерантност към грешки, в случай че има твърде много едновременни заявки, които могат да претоварят един уеб сървър.

HaProxy се използва от популярни сайтове като Tumblr, GitHub и StackOverflow. В това ръководство ще ви преведем през инсталацията на HAProxy в настройка на уеб сървъри, които се захранват с помощта на Nginx.

Лабораторна настройка

3 екземпляра на сървъри CentOS 7, както е показано

IP адреси на име на хост
load_balancer 3.17.12.132
сървър_01 3.19.229.234
сървър_02 3.17.9.217

Стъпка 1: Редактирайте файла / etc / hosts за балансиращия товар

За да започнете, влезте в системата за балансиране на товара и модифицирайте файла / etc / hosts, за да включите имената на хостове и IP адресите на двата уеб сървъра, както е показано

$ vim / etc / hosts
3.19.229.234 сървър_01
3.17.9.217 сървър-02

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

Сега се насочете към всеки от уеб сървърите и актуализирайте / etc / hosts файл с IP адрес и име на хост на балансиращия товар

3.17.12.132 балансиращ товар

След това потвърдете, че можете да ping балансира на товара от server_01

И по същия начин от server_02

Също така, уверете се, че можете да пингвате сървърите от балансиращия товар.

Перфектно ! всички сървъри могат да комуникират с балансиращия товар!

Стъпка 2: Инсталирайте и конфигурирайте HA прокси на балансиращия товар

Тъй като HA Proxy е лесно достъпен от официалното хранилище на CentOS, ще го инсталираме с помощта на yum или dnf мениджъра на пакети.

Но както винаги, първо актуализирайте системата

# yum актуализация

След това инсталирайте HA прокси, както е показано

# yum инсталирайте haproxy

След успешна инсталация отидете до директорията haproxy.

# cd / etc / haproxy

Най-добрата практика изисква да архивираме всеки конфигурационен файл, преди да правим каквито и да било промени.  Така че архивирайте хапрокси.cfg файл, като го преименувате.

# mv хапрокси.cfg хапрокси.cfg.бак

След това продължете и отворете конфигурационния файл

vim хапрокси.cfg

Уверете се, че сте направили модификацията, както е показано

#---------------------------------------------------------------------
# Глобални настройки
#---------------------------------------------------------------------
глобален
дневник 127.0.0.1 локален2 # Конфигурация на регистрацията
 
chroot / var / lib / haproxy
pidfile / var / run / haproxy.pid
maxconn 4000
потребител haproxy #Haproxy работи под потребител и група "haproxy"
група хапрокси
демон
 
# включете статистика unix сокет
stats socket / var / lib / haproxy / stats
 
#---------------------------------------------------------------------
# често срещани настройки по подразбиране, които всички раздели „слушане“ и „бекенд“ ще имат
# използвайте, ако не е посочено в техния блок
#---------------------------------------------------------------------
по подразбиране
режим http
лог глобален
опция httplog
опция dontlognull
опция http-server-close
опция напред за освен 127.0.0.0/8
опция препращане
повторни опити 3
изчакване http-заявка 10s
опашка за изчакване 1м
изчакване свързване 10s
клиент за изчакване 1м
сървър за изчакване 1м
изчакване http-keep-alive 10s
проверка за изчакване 10 секунди
maxconn 3000
 
#---------------------------------------------------------------------
#HAProxy Monitoring Config
#---------------------------------------------------------------------
слушайте haproxy3-monitoring *: 8080 #Haproxy Monitoring стартира на порт 8080
режим http
опция напред за
опция httpclose
статистика активира
статистика шоу-легенди
статистика опресняване 5s
stats uri / stats #URL за мониторинг на HAProxy
статистика сфера Haproxy \ Статистика
статистика auth Password123: Password123 # Потребител и парола за влизане в таблото за наблюдение
статистика admin, ако TRUE
default_backend app-main # Това е по избор за наблюдение на бекенда
 
#---------------------------------------------------------------------
# FrontEnd конфигурация
#---------------------------------------------------------------------
главен интерфейс
свързване *: 80
опция http-server-close
опция напред за
default_backend app-main
 
#---------------------------------------------------------------------
# BackEnd обиколка като алгоритъм на баланса
#---------------------------------------------------------------------
backend app-main
баланс Roundrobin #Balance алгоритъм
опция httpchk HEAD / HTTP / 1.1 \ r \ nХост: \ localhost
# Проверете дали сървърното приложение е изправено и здраво - 200 код на състоянието
сървър сървър_01 3.19.229.234: 80 проверка # Nginx1
сървър сървър_02 3.17.9.217: 80 проверка # Nginx2

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

Следващата стъпка ще бъде да конфигурирате Rsyslog, за да може да регистрира HAProxy статистика.

# vim / etc / rsyslog.конф

Уверете се, че коментирате редовете по-долу, за да разрешите UDP връзки

$ ModLoad imudp
$ UDPServerRun 514

След това продължете и създайте нов конфигурационен файл  хапрокси.конф

# vim / etc / rsyslog.г / хапрокси.конф

Поставете следните редове, запазете и излезте

местно2.= info / var / log / haproxy-access.log #For Log за достъп
местно2.известие / var / log / haproxy-info.log #For Service Info - Backend, loadbalancer

За да влязат в сила промените, рестартирайте демона rsyslog, както е показано:

# systemctl рестартирайте rsyslog

След това стартирайте и активирайте HAProxy

# systemctl стартира rsyslog
# systemctl разреши rsyslog

Проверете дали HAProxy работи

# systemctl статус rsyslog

Стъпка 3: Инсталирайте и конфигурирайте Nginx

Сега остава само инсталирането на Nginx. Влезте във всеки от сървърите и първо актуализирайте системните пакети:

# yum актуализация

Следваща инсталация на EPEL (допълнителни пакети за корпоративен Linux)

# yum инсталирайте epel-release

За да инсталирате Nginx, изпълнете командата:

# yum инсталирайте nginx

След това стартирайте и активирайте Nginx

# systemctl стартира nginx
# systemctl активира nginx

След това ще модифицираме индекса.html файл и в двата случая, за да демонстрира или симулира как балансьорът на товара е в състояние да разпределя уеб трафика през двата сървъра.

За сървър_01

# ехо "сървър_01. Хей ! Добре дошли в първия уеб сървър "> индекс.html

За сървър_02

# ехо "сървър_02. Хей ! Добре дошли във втория уеб сървър "> индекс.html

За да бъдат извършени промените, рестартирайте Nginx

# systemctl рестартирайте nginx

Стъпка 4: Тестване дали балансиращият товара работи

Най-накрая сме на мястото, където искаме да видим дали конфигурацията работи. Затова влезте в балансьора на товара и изпълнете командата curl неколкократно

# къдряне 3.17.12.132

Трябва да получите променлив изход на терминала, показващ стойността на индекса.html от server_01 и server_02

Сега нека тестваме с помощта на уеб браузър. Прегледайте IP адреса на балансиращия товар

http: // load-balancer-IP-адрес

Първата страница ще показва съдържание от който и да е от уеб сървърите


Сега опреснете уеб страницата и проверете дали тя показва съдържание от другия уеб сървър

Перфектно ! Балансът на натоварването разпределя равномерно IP трафика между двата уеб сървъра !
Това завършва този урок за това как можете да инсталирате, както и да конфигурирате HAProxy на CentOS 8. Вашите отзиви ще бъдат много оценени.

Урок Сянка на Tomb Raider за Linux
Shadow of the Tomb Raider е дванадесетото допълнение към поредицата Tomb Raider - франчайз за екшън-приключенска игра, създаден от Eidos Montreal. Игр...
Как да увеличите FPS в Linux?
FPS означава Кадри в секунда. Задачата на FPS е да измерва честотата на кадрите при възпроизвеждане на видео или игрални изпълнения. С прости думи бро...
Топ Oculus App Lab Games
Ако сте собственик на слушалки на Oculus, тогава трябва да знаете за странично зареждане. Sideloading е процесът на инсталиране на несъхранявано съдър...