Cum să configurați HAProxy ca Load Balancer pentru Nginx în CentOS 8

Cum Sa Configurati Haproxy Ca Load Balancer Pentru Nginx In Centos 8



High Availability Proxy, abreviat și ca HAProxy, este un echilibrator de încărcare ușor și rapid, care funcționează și ca server proxy. Ca echilibrator de încărcare, joacă un rol crucial în distribuirea traficului web de intrare pe mai multe servere web folosind anumite criterii. Procedând astfel, asigură disponibilitate ridicată și toleranță la erori în cazul în care există prea multe solicitări simultane care pot supraîncărca un singur server web.

HaProxy este folosit de site-uri populare precum Tumblr, GitHub și StackOverflow. În acest ghid, vă vom ghida prin instalarea HAProxy într-o configurație de servere web care sunt alimentate folosind Nginx.

Configurare laborator

3 instanțe de servere CentOS 7 așa cum se arată







Nume gazdă           Adrese IP

load_balancer      3.17.12.132
server_01          3.19.229.234
server_02          3.17.9.217

Pasul 1: Editați fișierul /etc/hosts pentru echilibrul de încărcare

Pentru a începe, conectați-vă la sistemul de echilibrare a încărcăturii și modificați fișierul /etc/hosts pentru a include numele de gazdă și adresele IP ale celor două servere web, așa cum se arată



$ deoarece / etc / gazde
3.19.229.234   server_01
3.17.9.217     server-02



După ce ați terminat, salvați modificările și ieșiți din fișierul de configurare.





Acum mergeți la fiecare dintre serverele web și actualizați /etc/hosts fișier cu adresa IP și numele de gazdă a echilibratorului de încărcare

3.17.12.132   echilibrator de încărcare

După aceea, confirmați  că puteți trimite ping la echilibratorul de încărcare de la server_01



Și la fel de la server_02

De asemenea, asigurați-vă că puteți face ping la servere de la echilibrul de încărcare.

Perfect ! toate serverele pot comunica cu echilibrul de încărcare!

Pasul 2: Instalați și configurați HA Proxy pe echilibrul de încărcare

Deoarece HA Proxy este ușor disponibil din depozitul oficial CentOS, îl vom instala folosind managerul de pachete yum sau dnf.

Dar, ca întotdeauna, actualizați mai întâi sistemul

# yum actualizare

Apoi, instalați HA Proxy așa cum se arată

# yum instala haproxy

După instalarea cu succes, navigați la directorul haproxy.

# CD / etc / haproxy

Cele mai bune practici ne impun să facem o copie de rezervă a oricărui fișier de configurare înainte de a face modificări. Deci, faceți o copie de rezervă haproxy.cfg fișier prin redenumirea acestuia.

# mv haproxy.cfg  haproxy.cfg.bak

Apoi, continuați și deschideți fișierul de configurare

deoarece haproxy.cfg

Asigurați-vă că faceți modificarea așa cum se arată

#------------------------------------------------- --------------------
# Setări globale
#------------------------------------------------- --------------------
global
jurnal         127.0.0.1 local2 #Configurarea jurnalului

chroot / a fost / lib / haproxy
pidfile / a fost / alerga / haproxy.pid
maxconn 4000
utilizator        haproxy #Haproxy rulează sub utilizator și grup „haproxy”
grup       haproxy
demon

# activați soclul Unix pentru statistici
priza de statistici / a fost / lib / haproxy / statistici

#------------------------------------------------- --------------------
# valori implicite comune pe care le vor face toate secțiunile „ascultă” și „backend”.
# utilizați dacă nu este desemnat în blocul lor
#------------------------------------------------- --------------------
implicite
modul                    http
jurnal                     global
opțiunea                  httplog
opțiunea                  dontlognull
opțiunea http-server-close
opțiunea forwardfor       cu excepția 127.0.0.0 / 8
opțiunea                  reexpediere
reîncercări 3
timeout http-request    10s
timeout coada           1 min
timeout connect         10s
timeout client          1m
server timeout          1m
timeout http-keep-alive 10s
verificare timeout           10s
maxconn 3000

#------------------------------------------------- --------------------
Configurație monitorizare #HAProxy
#------------------------------------------------- --------------------
asculta haproxy3-monitoring * : 8080 #Haproxy Monitoring rulează pe portul 8080
modul http
opțiune forwardfor
opțiunea httpclose
statistici permite
statistici arată-legende
statisticile reîmprospătează 5 secunde
statistici uri / statistici #URL pentru monitorizarea HAProxy
domeniul statisticilor Haproxy\ Statistici
stats auth Parola123: Parola123 #Utilizator și parolă pentru autentificare la tabloul de bord de monitorizare
statistici admin dacă ADEVĂRAT
default_backend app-main #Acesta este opțional pentru monitorizarea backend-ului

#------------------------------------------------- --------------------
# Configurare FrontEnd
#------------------------------------------------- --------------------
principalul frontend
lega * : 80
opțiunea http-server-close
opțiune forwardfor
default_backend app-main

#------------------------------------------------- --------------------
# BackEnd round robin ca algoritm de echilibru
#------------------------------------------------- --------------------
backend app-main

echilibru roundrobin #Algoritm de echilibru

opțiunea httpchk HEAD / HTTP / 1.1 \r\nHost:\ localhost
#Verificați dacă aplicația server este activată și sănătoasă - cod de stare 200

server server_01 3.19.229.234: 80 Verifica #Nginx1

server server_02 3.17.9.217: 80 Verifica #Nginx2

Asigurați-vă că modificați numele de gazdă și adresele IP ale serverelor web, așa cum este indicat în ultimele două rânduri. Salvați modificările și ieșiți.

Următorul pas va fi configurarea Rsyslog pentru a putea înregistra statisticile HAProxy.

# deoarece / etc / rsyslog.conf

Asigurați-vă că decomentați liniile de mai jos pentru a permite conexiunile UDP

$ModLoad imudp
$UDPServerRun 514

Apoi, continuați și creați un nou fișier de configurare haproxy.conf

# deoarece / etc / rsyslog.d / haproxy.conf

Lipiți următoarele rânduri, salvați și ieșiți

local2.=info / a fost / Buturuga / haproxy-access.log #Pentru jurnalul de acces
local2.aviz / a fost / Buturuga / haproxy-info.log #Pentru informații despre service - Backend, loadbalancer

Pentru ca modificările să aibă efect, reporniți demonul rsyslog așa cum se arată:

# systemctl reporniți rsyslog

Apoi porniți și activați HAProxy

# systemctl începe rsyslog
# systemctl enable rsyslog

Verificați dacă HAProxy rulează

# starea systemctl rsyslog

Pasul 3: Instalați  și configurați Nginx

Acum, singura parte rămasă este instalarea lui Nginx. Conectați-vă la fiecare dintre servere și actualizați mai întâi pachetele de sistem:

# yum actualizare

Următoarea instalare  EPEL (pachete suplimentare pentru Enterprise Linux)

# yum instala eliberare caldă

Pentru a instala Nginx, rulați comanda:

# yum instala nginx

Apoi, porniți și activați Nginx

# systemctl porniți nginx
# systemctl enable nginx

Apoi vom modifica fișierul index.html în ambele cazuri pentru a demonstra sau simula modul în care echilibratorul de încărcare este capabil să distribuie traficul web pe ambele servere.

Pentru server_01

# ecou 'server_01. Hei! Bun venit pe primul server web' > index.html

Pentru server_02

# ecou 'server_02. Hei! Bun venit pe al doilea server web' > index.html

Pentru ca modificările să fie efectuate, reporniți Nginx

# systemctl reporniți nginx

Pasul 4: Testați dacă echilibrul de sarcină funcționează

Suntem în sfârșit în punctul în care vrem să vedem dacă configurația funcționează. Așadar, conectați-vă la echilibrul de încărcare și executați comanda curl în mod repetat

# bucla 3.17.12.132

Ar trebui să obțineți o ieșire alternativă pe terminal care arată valoarea index.html  de la server_01 și server_02

Acum să testăm folosind un browser web. Răsfoiți adresa IP a echilibratorului de încărcare

http: // load-balancer-adresa-IP

Prima pagină va afișa conținut de pe oricare dintre serverele web


Acum reîmprospătați pagina web și verificați dacă afișează conținut de pe celălalt server web

Perfect ! Echilibrul de încărcare distribuie traficul IP în mod egal între cele două servere web!
Acest lucru încheie acest tutorial despre cum puteți instala și configura HAProxy pe CentOS 8. Feedback-ul dumneavoastră va fi foarte apreciat.