HaProxy brukes av populære nettsteder som Tumblr, GitHub og StackOverflow. I denne guiden tar vi deg gjennom installasjonen av HAProxy i et oppsett av webservere som drives av Nginx.
Laboratorieoppsett
3 forekomster av CentOS 7-servere som vist
Vertsnavn IP-adresser
load_balancer 3.17.12.132
server_01 3.19.229.234
server_02 3.17.9.217
Trinn 1: Rediger /etc/hosts-filen for lastbalanseren
For å starte, logg inn på lastbalanseringssystemet og endre /etc/hosts-filen til å inkludere vertsnavnene og IP-adressene til de to webserverne som vist
$ fordi / etc / verter
3.19.229.234 server_01
3.17.9.217 server-02
Når du er ferdig, lagrer du endringene og går ut av konfigurasjonsfilen.
Gå nå ut til hver av webserverne og oppdater /etc/hosts fil med IP-adressen og vertsnavnet til lastbalanseren
3.17.12.132 lastbalanserDeretter bekrefter du at du kan pinge lastbalanseren fra server_01
Og likeledes fra server_02
Pass også på at du kan pinge serverne fra lastbalanseren.
Perfekt ! alle servere kan kommunisere med lastbalanseren!
Trinn 2: Installer og konfigurer HA Proxy på lastbalanseren
Fordi HA Proxy er lett tilgjengelig fra CentOS offisielle depot, skal vi installere den ved å bruke yum- eller dnf-pakkebehandlingen.
Men som alltid, oppdater systemet først
# nam oppdateringInstaller deretter HA Proxy som vist
# nam installer haproksyNår installasjonen er vellykket, naviger til haproxy-katalogen.
# cd / etc / haproksyBeste praksis krever at vi sikkerhetskopierer enhver konfigurasjonsfil før du gjør endringer. Så ta sikkerhetskopi av haproxy.cfg fil ved å gi den nytt navn.
# mv haproxy.cfg haproxy.cfg.bakFortsett deretter og åpne konfigurasjonsfilen
fordi haproxy.cfgSørg for at du gjør endringen som vist
#------------------------------------------------- --------------------# Globale innstillinger
#------------------------------------------------- --------------------
global
logg 127.0.0.1 lokal2 #Loggkonfigurasjon
chroot / var / lib / haproksy
pidfil / var / løpe / haproxy.pid
maxconn 4000
bruker haproxy #Haproxy kjører under bruker og gruppe 'haproxy'
gruppe haproxy
demon
# slå på statistikk unix-kontakt
statistikkkontakt / var / lib / haproksy / statistikk
#------------------------------------------------- --------------------
# vanlige standarder som alle 'lytt' og 'backend'-seksjoner vil
# bruk hvis det ikke er angitt i blokken deres
#------------------------------------------------- --------------------
standardinnstillinger
modus http
logg globalt
alternativ httplog
alternativ dontlognull
alternativet http-server-lukk
alternativ viderefor unntatt 127.0.0.0 / 8
alternativ videresending
prøver på nytt 3
tidsavbrudd http-forespørsel 10s
timeout-kø 1m
tidsavbrudd tilkobling 10s
tidsavbrudd klient 1m
tidsavbrudd server 1m
timeout http-holde-levende 10s
tidsavbruddssjekk 10s
maxconn 3000
#------------------------------------------------- --------------------
#HAProxy Monitoring Config
#------------------------------------------------- --------------------
lytt til haproxy3-overvåking * : 8080 #Haproxy Monitoring kjører på port 8080
modus http
alternativ viderefor
alternativet httplukk
statistikk muliggjøre
statistikk show-legender
statistikk oppdatering 5s
statistikk uri / statistikk #URL for HAProxy-overvåking
stats realm Haproxy\ Statistikk
stats auth Password123: Password123 #Bruker og passord for pålogging til overvåkingsdashbordet
statistikk admin hvis EKTE
default_backend app-main #Dette er valgfritt for å overvåke backend
#------------------------------------------------- --------------------
# FrontEnd-konfigurasjon
#------------------------------------------------- --------------------
frontend hoved
binde * : 80
alternativet http-server-lukk
alternativ viderefor
default_backend app-main
#------------------------------------------------- --------------------
# BackEnd round robin som balansealgoritme
#------------------------------------------------- --------------------
backend app-main
balansere roundrobin #Balansealgoritme
alternativ httpchk HEAD / HTTP / 1.1 \r\nVert:\ lokalvert
#Sjekk at serverapplikasjonen er oppe og frisk - 200 statuskode
server server_01 3.19.229.234: 80 kryss av #Nginx1
server server_02 3.17.9.217: 80 kryss av #Nginx2
Sørg for å endre webserverens vertsnavn og IP-adresser som angitt i de to siste linjene. Lagre endringene og avslutt.
Neste trinn vil være å konfigurere Rsyslog for å kunne logge HAProxy-statistikk.
# fordi / etc / rsyslog.confPass på at du fjerner kommentarene til linjene nedenfor for å tillate UDP-tilkoblinger
$ModLoad imudp$UDPServerRun 514
Fortsett deretter og opprett en ny konfigurasjonsfil haproxy.conf
# fordi / etc / rsyslog.d / haproxy.confLim inn følgende linjer, lagre og avslutt
lokal2.=info / var / Logg / haproxy-access.log #For tilgangslogglokal2.varsel / var / Logg / haproxy-info.log #For Service Info - Backend, loadbalancer
For at endringene skal tre i kraft, start rsyslog-demonen på nytt som vist:
# systemctl start rsyslog på nyttStart deretter og aktiver HAProxy
# systemctl start rsyslog# systemctl aktiver rsyslog
Bekreft at HAProxy kjører
# systemctl status rsyslogTrinn 3: Installer og konfigurer Nginx
Nå er den eneste delen som gjenstår installasjonen av Nginx. Logg inn på hver av serverne og oppdater først systempakkene:
# nam oppdateringNeste installering EPEL (ekstra pakker for Enterprise Linux)
# nam installer varm utløsningFor å installere Nginx, kjør kommandoen:
# nam installer nginxDeretter starter og aktiverer du Nginx
# systemctl start nginx# systemctl aktiver nginx
Vi skal deretter modifisere index.html-filen i begge tilfeller for å demonstrere eller simulere hvordan lastbalanseren er i stand til å distribuere nettrafikk på tvers av begge serverne.
For server_01
# ekko 'server_01. Hei! Velkommen til den første webserveren' > index.htmlFor server_02
# ekko 'server_02. Hei! Velkommen til den andre webserveren' > index.htmlFor at endringene skal utføres, start Nginx på nytt
# systemctl start nginx på nyttTrinn 4: Tester om lastbalanseren fungerer
Vi er endelig på det punktet hvor vi ønsker å se om konfigurasjonen fungerer. Så logg inn på lastbalanseren og utfør curl-kommandoen gjentatte ganger
# krøll 3.17.12.132Du bør få alternerende utdata på terminalen som viser verdien av index.html fra server_01 og server_02
La oss nå teste med en nettleser. Bla gjennom belastningsbalanserens IP-adresse
http: // lastbalanser-IP-adresseDen første siden vil vise innhold fra hvilken som helst av webserverne
Oppdater nå nettsiden og sjekk om den viser innhold fra den andre webserveren
Perfekt ! Lastbalansen fordeler IP - trafikk likt mellom de to webserverne !
Dette avslutter denne veiledningen om hvordan du kan installere og konfigurere HAProxy på CentOS 8. Tilbakemeldingen din vil bli satt stor pris på.