Как да настроите HAProxy като Load Balancer за Nginx в CentOS 8

Kak Da Nastroite Haproxy Kato Load Balancer Za Nginx V Centos 8



High Availability Proxy, също съкратено като 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 адресите на двата уеб сървъра, както е показано



$ защото / и т.н / домакини
3.19.229.234   server_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.

# cd / и т.н / хапрокси

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

# мв haproxy.cfg haproxy.cfg.bak

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

защото haproxy.cfg

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

#------------------------------------------------ --------------------
# Глобални настройки
#------------------------------------------------ --------------------
глобален
лог         127.0.0.1 local2 #Конфигурация на регистрационния файл

chroot / беше / либ / хапрокси
pidfile / беше / тичам / haproxy.pid
maxconn 4000
потребител        haproxy #Haproxy, работещ под потребител и група 'haproxy'
група       хаппрокси
демон

# включете stats unix socket
гнездо за статистика / беше / либ / хапрокси / статистика

#------------------------------------------------ --------------------
# общи настройки по подразбиране, които всички секции „слушане“ и „бекенд“ ще направят
# използвайте, ако не е посочено в техния блок
#------------------------------------------------ --------------------
по подразбиране
режим                    http
лог                  глобален
опция                  httplog
опция                  dontlognull
опция http-server-close
опция напред за       с изключение на 127.0.0.0 / 8
опция                  повторно изпращане
повторни опити 3
изчакване http-заявка    10s
опашка за изчакване           1m
изчакване за свързване         10s
таймаут клиент          1м
таймаут сървър          1м
изчакване http-keep-alive 10s
проверка на изчакване           10s
maxconn 3000

#------------------------------------------------ --------------------
Конфигурация за наблюдение #HAProxy
#------------------------------------------------ --------------------
слушайте haproxy3-мониторинг * : 8080 #Haproxy мониторинг се изпълнява на порт 8080
режим http
опция forwardfor
опция httpclose
статистика активирайте
статистика шоу-легенди
статистика опресняване 5s
stats uri / статистика #URL за наблюдение на HAProxy
stats realm Haproxy\ Статистика
stats auth Парола123: Парола123 #Потребител и парола за влизане в таблото за наблюдение
статистика администратор ако ВЯРНО
default_backend app-main #Това е по избор за наблюдение на бекенда

#------------------------------------------------ --------------------
# FrontEnd конфигурация
#------------------------------------------------ --------------------
главен интерфейс
обвързвам * : 80
опция http-server-close
опция forwardfor
default_backend app-main

#------------------------------------------------ --------------------
# BackEnd round robin като алгоритъм за баланс
#------------------------------------------------ --------------------
backend app-main

баланс кръгов #Алгоритъм за баланс

опция httpchk HEAD / HTTP / 1.1 \r\nХост:\ локален хост
#Проверете дали сървърното приложение работи и е изправно - 200 код за състояние

сървър server_01 3.19.229.234: 80 проверка #Nginx1

сървър server_02 3.17.9.217: 80 проверка #Nginx2

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

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

# защото / и т.н / rsyslog.conf

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

$ModLoad imudp
$UDPServerRun 514

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

# защото / и т.н / rsyslog.d / haproxy.conf

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

local2.=информация / беше / дневник / haproxy-access.log #За регистър на достъпа
local2.notice / беше / дневник / haproxy-info.log #За информация за услугата - Backend, loadbalancer

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

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

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

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

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

# systemctl състояние rsyslog

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

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

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

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

# yum инсталирайте топло освобождаване

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

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

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

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

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

За server_01

# ехо 'server_01. Хей! Добре дошли в първия уеб сървър' > index.html

За server_02

# ехо 'server_02. Хей! Добре дошли във втория уеб сървър' > index.html

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

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

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

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

# къдрица 3.17.12.132

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

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

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

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


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

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