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ărcareDupă 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 actualizareApoi, instalați HA Proxy așa cum se arată
# yum instala haproxyDupă instalarea cu succes, navigați la directorul haproxy.
# CD / etc / haproxyCele 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.bakApoi, continuați și deschideți fișierul de configurare
deoarece haproxy.cfgAsiguraț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.confAsiguraț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.confLipiți următoarele rânduri, salvați și ieșiți
local2.=info / a fost / Buturuga / haproxy-access.log #Pentru jurnalul de acceslocal2.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 rsyslogApoi porniți și activați HAProxy
# systemctl începe rsyslog# systemctl enable rsyslog
Verificați dacă HAProxy rulează
# starea systemctl rsyslogPasul 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 actualizareUrmătoarea instalare EPEL (pachete suplimentare pentru Enterprise Linux)
# yum instala eliberare caldăPentru a instala Nginx, rulați comanda:
# yum instala nginxApoi, 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.htmlPentru server_02
# ecou 'server_02. Hei! Bun venit pe al doilea server web' > index.htmlPentru ca modificările să fie efectuate, reporniți Nginx
# systemctl reporniți nginxPasul 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.132Ar 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-IPPrima 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.