Hur man ställer in HAProxy som lastbalanserare för Nginx i CentOS 8

Hur Man Staller In Haproxy Som Lastbalanserare For Nginx I Centos 8



High Availability Proxy, även förkortat HAProxy är en lätt och snabb lastbalanserare som också fungerar som en proxyserver. Som en lastbalanserare spelar den en avgörande roll för att distribuera inkommande webbtrafik över flera webbservrar med hjälp av vissa kriterier. Genom att göra det säkerställer den hög tillgänglighet och feltolerans i händelse av att det finns för många samtidiga förfrågningar som kan överbelasta en enda webbserver.

HaProxy används av populära sajter som Tumblr, GitHub och StackOverflow. I den här guiden tar vi dig genom installationen av HAProxy i en uppsättning av webbservrar som drivs med Nginx.

Labbinställning

3 instanser av CentOS 7-servrar som visas







Värdnamn           IP-adresser

load_balancer      3.17.12.132
server_01          3.19.229.234
server_02          3.17.9.217

Steg 1: Redigera filen /etc/hosts för lastbalanseraren

För att börja, logga in på lastbalanseringssystemet och modifiera filen /etc/hosts så att den inkluderar värdnamnen och IP-adresserna för de två webbservrarna som visas



$ därför att / etc / värdar
3.19.229.234   server_01
3.17.9.217     server-02



När du är klar, spara ändringarna och avsluta konfigurationsfilen.





Gå nu ut till var och en av webbservrarna och uppdatera /etc/hosts fil med IP-adressen och värdnamnet för lastbalanseraren

3.17.12.132   lastbalanserare

Därefter bekräftar du att du kan pinga belastningsbalanseraren från server_01



Och likaså från server_02

Se också till att du kan pinga servrarna från lastbalanseraren.

Perfekt! alla servrar kan kommunicera med lastbalanseraren!

Steg 2: Installera och konfigurera HA Proxy på lastbalanseraren

Eftersom HA Proxy är lättillgänglig från CentOS officiella arkiv, kommer vi att installera den med hjälp av pakethanteraren yum eller dnf.

Men som alltid, uppdatera systemet först

# mums uppdatering

Installera sedan HA Proxy enligt bilden

# mums installera haproxi

När installationen har lyckats navigera till haproxykatalogen.

# CD / etc / haproxi

Bästa praxis kräver att vi säkerhetskopierar alla konfigurationsfiler innan vi gör några ändringar. Så säkerhetskopiera haproxy.cfg filen genom att byta namn på den.

# mv haproxy.cfg  haproxy.cfg.bak

Fortsätt sedan och öppna konfigurationsfilen

därför att haproxy.cfg

Se till att du gör ändringen enligt bilden

#------------------------------------------------ --------------------
# Globala inställningar
#------------------------------------------------ --------------------
global
log         127.0.0.1 lokal2 #Loggkonfiguration

chroot / var / lib / haproxi
pidfil / var / springa / haproxy.pid
maxconn 4000
användare        haproxy #Haproxy körs under användare och grupp 'haproxy'
grupp       haproxy
demon

# slå på statistik unix-uttaget
statistikuttag / var / lib / haproxi / statistik

#------------------------------------------------ --------------------
# vanliga standardinställningar som alla 'lyssna' och 'backend'-sektioner kommer att göra
# använd om det inte anges i deras block
#------------------------------------------------ --------------------
standardvärden
läge                    http
log                     globalt
alternativ                  httplogg
alternativ                  dontlognull
alternativet http-server-stäng
alternativ vidarebefordra för       förutom 127.0.0.0 / 8
alternativ                  återsändning
försök igen 3
timeout http-begäran    10s
timeout-kö           1m
timeout anslutning         10s
timeout klient          1m
timeout server          1m
timeout http-hålla vid liv 10s
timeout check           10s
maxconn 3000

#------------------------------------------------ --------------------
#HAProxy Monitoring Config
#------------------------------------------------ --------------------
lyssna på haproxy3-övervakning * : 8080 #Haproxy Monitoring körs på port 8080
läge http
alternativ framåt för
alternativet httpstäng
statistik Gör det möjligt
statistik visa-legender
statistik uppdatera 5s
statistik uri / statistik #URL för HAProxy-övervakning
stats realm Haproxy\ Statistik
statistik auth Password123: Password123 #Användare och lösenord för inloggning till övervakningspanelen
statistik admin om SANN
default_backend app-main #Detta är valfritt för att övervaka backend

#------------------------------------------------ --------------------
# FrontEnd-konfiguration
#------------------------------------------------ --------------------
frontend huvud
binda * : 80
alternativet http-server-stäng
alternativ framåt för
default_backend app-main

#------------------------------------------------ --------------------
# BackEnd round robin som balansalgoritm
#------------------------------------------------ --------------------
backend app-main

balans roundrobin #Balansalgoritm

alternativ httpchk HEAD / HTTP / 1.1 \r\nVärd:\ lokalvärd
#Kontrollera att serverapplikationen är uppe och frisk - 200 statuskod

server server_01 3.19.229.234: 80 kolla upp #Nginx1

server server_02 3.17.9.217: 80 kolla upp #Nginx2

Se till att ändra webbservrarnas värdnamn och IP-adresser enligt de två sista raderna. Spara ändringarna och avsluta.

Nästa steg blir att konfigurera Rsyslog för att kunna logga HAProxy-statistik.

# därför att / etc / rsyslog.conf

Se till att du avkommenterar raderna nedan för att tillåta UDP-anslutningar

$ModLoad imudp
$UDPServerRun 514

Fortsätt sedan och skapa en ny konfigurationsfil haproxy.conf

# därför att / etc / rsyslog.d / haproxy.conf

Klistra in följande rader, spara och avsluta

local2.=info / var / logga / haproxy-access.log #För åtkomstlogg
lokal2.meddelande / var / logga / haproxy-info.log #För serviceinfo - Backend, lastbalanserare

För att ändringarna ska träda i kraft, starta om rsyslog-demonen enligt bilden:

# systemctl starta om rsyslog

Starta sedan och aktivera HAProxy

# systemctl starta rsyslog
# systemctl aktivera rsyslog

Kontrollera att HAProxy körs

# systemctl status rsyslog

Steg 3: Installera och konfigurera Nginx

Nu är den enda delen som återstår installationen av Nginx. Logga in på var och en av servrarna och uppdatera först systempaketen:

# mums uppdatering

Nästa installation  EPEL (Extra Packages for Enterprise Linux)

# mums installera varm släpp

För att installera Nginx, kör kommandot:

# mums installera nginx

Nästa, starta och aktivera Nginx

# systemctl starta nginx
# systemctl aktivera nginx

Vi kommer sedan att modifiera filen index.html i båda fallen för att demonstrera eller simulera hur lastbalanseraren kan distribuera webbtrafik över båda servrarna.

För server_01

# eko 'server_01. Hej! Välkommen till den första webbservern' > index.html

För server_02

# eko 'server_02. Hej! Välkommen till den andra webbservern' > index.html

För att ändringarna ska genomföras, starta om Nginx

# systemctl starta om nginx

Steg 4: Testar om lastbalanseraren fungerar

Vi är äntligen vid den punkt där vi vill se om konfigurationen fungerar. Så logga in på lastbalanseraren och utför curl-kommandot upprepade gånger

# curl 3.17.12.132

Du bör få alternerande utdata på terminalen som visar värdet på index.html  från server_01 och server_02

Låt oss nu testa med en webbläsare. Bläddra bland din lastbalanserares IP-adress

http: // lastbalanserare-IP-adress

Den första sidan kommer att visa innehåll från någon av webbservrarna


Uppdatera nu webbsidan och kontrollera om den visar innehåll från den andra webbservern

Perfekt! Lastbalansen fördelar IP-trafiken lika mellan de två webbservrarna!
Detta avslutar den här handledningen om hur du kan installera och konfigurera HAProxy på CentOS 8. Din feedback kommer att uppskattas mycket.