HAProxy

Så här ställer du in HAProxy som belastningsbalans för Nginx i CentOS 8

Så här ställer du in HAProxy som belastningsbalans för Nginx i CentOS 8
Proxy med hög tillgänglighet, även förkortad HAProxy är en lätt och snabb belastningsutjämnare 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. På så sätt säkerställer det 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 webbplatser som Tumblr, GitHub och StackOverflow. I den här guiden tar vi dig igenom installationen av HAProxy i en installation av webbservrar som drivs med Nginx.

Labinstä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 belastningsutjämnaren

För att börja, logga in i lastbalanseringssystemet och ändra / etc / hosts-filen för att inkludera värdnamn och IP-adresser för de två webbservrarna som visas

$ vim / etc / värdar
3.19.229.234 server_01
3.17.9.217 server-02

När du är klar sparar du ändringarna och avslutar konfigurationsfilen.

Gå nu ut till var och en av webbservrarna och uppdatera / etc / värdar fil med belastningsutjämnarens IP-adress och värdnamn

3.17.12.132 lastbalanserare

Bekräfta därefter att du kan pinga belastningsutjämnaren från server_01

Och på samma sätt från server_02

Se också till att du kan pinga servrarna från belastningsutjämnaren.

Perfekt ! alla servrar kan kommunicera med belastningsutjämnaren!

Steg 2: Installera och konfigurera HA Proxy på belastningsutjämnaren

Eftersom HA Proxy är lättillgängligt från CentOS officiella förvar kommer vi att installera det med yum- eller dnf-pakethanteraren.

Men som alltid, uppdatera systemet först

# yum uppdatering

Installera sedan HA Proxy som visas

# yum installera haproxy

Efter framgångsrik installation, navigera till haproxy-katalogen.

# cd / etc / haproxy

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

# mv haproxy.cfg haproxy.cfg.bak

Fortsätt sedan och öppna konfigurationsfilen

vim haproxy.cfg

Se till att du gör ändringen som visas

#---------------------------------------------------------------------
# Globala inställningar
#---------------------------------------------------------------------
global
logg 127.0.0.1 local2 #Log-konfiguration
 
chroot / var / lib / haproxy
pidfile / var / run / haproxy.pid
maxconn 4000
användarhaproxy #Haproxy körs under användare och grupp "haproxy"
grupp haproxy
demon
 
# slå på statistik unix-uttag
statsuttag / var / lib / haproxy / statistik
 
#---------------------------------------------------------------------
# vanliga standardvärden som alla avsnitt "lyssna" och "backend" kommer att göra
# använd om det inte anges i deras block
#---------------------------------------------------------------------
standardvärden
läge http
logga globalt
alternativ httplog
alternativ dontlognull
alternativet http-server-stäng
alternativ framåt förutom 127.0.0.0/8
alternativ vidarebefordran
försöker igen 3
timeout http-begäran 10-tal
timeout-kö 1m
timeout anslut 10s
timeout-klient 1m
timeout-server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
 
#---------------------------------------------------------------------
#HAProxy Monitoring Config
#---------------------------------------------------------------------
lyssna på haproxy3-övervakning *: 8080 #Haproxy-övervakning körs på port 8080
läge http
alternativ framåt för
alternativet httpclose
statistik aktivera
statistik show-legender
statistik uppdatera 5s
stats uri / stats #URL för HAProxy-övervakning
statsriket Haproxy \ Statistics
stats auth Password123: Password123 # Användare och lösenord för inloggning på övervakningsinstrumentet
statsadministratör om SANT
default_backend app-main # Detta är valfritt för övervakning av backend
 
#---------------------------------------------------------------------
# FrontEnd-konfiguration
#---------------------------------------------------------------------
frontend huvud
bind *: 80
alternativet http-server-stäng
alternativ framåt för
default_backend app-main
 
#---------------------------------------------------------------------
# BackEnd round robin som balansalgoritm
#---------------------------------------------------------------------
backend app-main
balansera rundrobin #balansalgoritm
alternativet httpchk HEAD / HTTP / 1.1 \ r \ nVärd: \ localhost
#Kontrollera att serverapplikationen är klar och hälsosam - 200 statuskod
server server_01 3.19.229.234: 80-kontroll # Nginx1
server server_02 3.17.9.217: 80-kontroll # Nginx2

Var noga med att ändra webbservern värdnamn och IP-adresser som anges i de två sista raderna. Spara ändringarna och avsluta.

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

# vim / etc / rsyslog.konf

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

$ ModLoad imudp
$ UDPServerKör 514

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

# vim / etc / rsyslog.d / haproxy.konf

Klistra in följande rader, spara och avsluta

lokal2.= info / var / log / haproxy-åtkomst.log #For Access Log
lokal2.meddelande / var / log / haproxy-info.log #For Service Info - Backend, loadbalancer

För att ändringarna ska träda i kraft startar du om rsyslog-demonen som visas:

# systemctl startar om rsyslog

Starta sedan och aktivera HAProxy

# systemctl start rsyslog
# systemctl aktiverar 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:

# yum uppdatering

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

# yum installera epel-release

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

# yum install nginx

Starta sedan och aktivera Nginx

# systemctl start nginx
# systemctl aktiverar nginx

Vi kommer sedan att ändra indexet.html-fil i båda fallen för att demonstrera eller simulera hur belastningsutjämnaren kan distribuera webbtrafik över båda servrarna.

För server_01

# echo "server_01. Hallå ! Välkommen till den första webbservern "> index.html

För server_02

# echo "server_02. Hallå ! Välkommen till den andra webbservern "> index.html

Starta om Nginx för att ändringarna ska kunna genomföras

# systemctl startar om nginx

Steg 4: Testa om belastningsutjämnaren fungerar

Vi är äntligen vid den punkt där vi vill se om konfigurationen fungerar. Så logga in i belastningsutjämnaren och kör curl-kommandot upprepade gånger

# curl 3.17.12.132

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

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

http: // load-balancer-IP-adress

Den första sidan visar 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-trafik lika mellan de två webbservrarna !
Detta sammanfattar denna handledning om hur du kan installera och konfigurera HAProxy på CentOS 8. Din feedback kommer att uppskattas mycket.

Mus Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Om du upptäcker att muspekaren hoppar eller rör sig på egen hand, automatiskt, slumpmässigt när du skriver in Windows-bärbar dator eller dator, kan nå...
Mus Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Mus och Pekplattas gör inte bara datoranvändning lättare men effektivare och mindre tidskrävande. Vi kan inte föreställa oss ett liv utan dessa enhete...
Mus Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Muspekaren och markören i Windows 10 är mycket viktiga aspekter av operativsystemet. Detta kan också sägas för andra operativsystem, så i sanning är d...