HaProxy brukes av populære nettsteder som Tumblr, GitHub og StackOverflow. I denne veiledningen tar vi deg gjennom installasjonen av HAProxy i et oppsett av webservere som drives av Nginx.
Lab Setup
3 forekomster av CentOS 7-servere som vist
Vertsnavn IP-adresserbelastningsbalanse 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 slik at den inkluderer vertsnavn og IP-adresser til de to webserverne som vist
$ vim / etc / verter3.19.229.234 server_01
3.17.9.217 server-02
Når du er ferdig, lagrer du endringene og avslutter konfigurasjonsfilen.
Gå nå ut til hver av webserverne og oppdater / etc / verter fil med IP-adressen og vertsnavnet til belastningsutjevneren
3.17.12.132 lastbalanserBekreft deretter at du kan pinge lastbalansen fra server_01
Og også fra server_02
Sørg også for 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 lager, skal vi installere det ved hjelp av yum eller dnf pakkebehandling.
Men som alltid, oppdater systemet først
# yum oppdateringDeretter installerer du HA Proxy som vist
# yum install haproxy
Etter vellykket installasjon, naviger til haproxy-katalogen.
# cd / etc / haproxyBeste praksis krever at vi sikkerhetskopierer alle konfigurasjonsfiler før vi gjør endringer. Så ta sikkerhetskopi av haproxy.cfg filen ved å gi den nytt navn.
# mv haproxy.cfg haproxy.cfg.bakNeste, fortsett og åpne konfigurasjonsfilen
vim haproxy.cfgForsikre deg om at du gjør endringene som vist
#---------------------------------------------------------------------# Globale innstillinger
#---------------------------------------------------------------------
global
logg 127.0.0.1 lokal2 # loggkonfigurasjon
chroot / var / lib / haproxy
pidfile / var / run / haproxy.pid
maxconn 4000
bruker haproxy #Haproxy kjører under bruker og gruppe "haproxy"
gruppe haproxy
daemon
# slå på statistikk unix-stikkontakt
stats socket / var / lib / haproxy / stats
#---------------------------------------------------------------------
# vanlige standardinnstillinger som alle "lytt" og "backend" seksjonene vil
# bruk hvis ikke angitt i blokken deres
#---------------------------------------------------------------------
standardinnstillinger
modus http
logg global
opsjon httplog
alternativ dontlognull
alternativet http-server-close
alternativ fremover unntatt 127.0.0.0/8
alternativ omlevering
prøver på nytt 3
timeout http-forespørsel 10-tallet
timeout-kø 1m
tidsavbrudd koble 10-tallet
timeout klient 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
#---------------------------------------------------------------------
#HAProxy Monitoring Config
#---------------------------------------------------------------------
hør haproxy3-overvåking *: 8080 #Haproxy Monitoring kjøres på port 8080
modus http
opsjon fremover
alternativet httpclose
statistikk aktivere
statistikk show-legender
statistikk oppdaterer 5s
stats uri / stats #URL for HAProxy monitoring
stats realm Haproxy \ Statistics
stats auth Password123: Password123 # User and Password for login to the monitoring dashboard
statsadministrator hvis SANN
default_backend app-main # Dette er valgfritt for overvåking av backend
#---------------------------------------------------------------------
# FrontEnd-konfigurasjon
#---------------------------------------------------------------------
frontend hoved
bind *: 80
alternativet http-server-close
opsjon fremover
default_backend app-main
#---------------------------------------------------------------------
# BackEnd round robin som balansealgoritme
#---------------------------------------------------------------------
backend app-main
balansere roundrobin #Balance algoritme
alternativet httpchk HEAD / HTTP / 1.1 \ r \ nVært: \ localhost
# Sjekk at serverapplikasjonen er oppe og sunn - 200 statuskode
server server_01 3.19.229.234: 80 sjekk # Nginx1
server server_02 3.17.9.217: 80 sjekk # Nginx2
Husk å 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.
# vim / etc / rsyslog.konfForsikre deg om at du fjerner merknad fra linjene nedenfor for å tillate UDP-tilkoblinger
$ ModLoad imudp$ UDPServer Kjør 514
Deretter fortsetter du og oppretter en ny konfigurasjonsfil haproxy.konf
# vim / etc / rsyslog.d / haproxy.konfLim inn følgende linjer, lagre og avslutt
lokal2.= info / var / log / haproxy-tilgang.logg # For tilgangslogglokal2.varsel / var / log / 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 og aktiver HAProxy
# systemctl start rsyslog# systemctl aktiver rsyslog
Kontroller at HAProxy kjører
# systemctl status rsyslog
Trinn 3: Installer og konfigurer Nginx
Nå er den eneste gjenværende delen installasjonen av Nginx. Logg inn på hver av serverne og oppdater systempakken først:
# yum oppdateringNeste installasjon EPEL (Ekstra pakker for Enterprise Linux)
# yum installer epel-releaseFor å installere Nginx, kjør kommandoen:
# yum install nginxDeretter starter og aktiverer du Nginx
# systemctl start nginx# systemctl aktiver nginx
Vi skal da endre indeksen.html-fil i begge tilfeller for å demonstrere eller simulere hvordan lastbalanseren er i stand til å distribuere webtrafikk på begge serverne.
For server_01
# echo "server_01. Hei ! Velkommen til den første webserveren "> indeks.htmlFor server_02
# echo "server_02. Hei ! Velkommen til den andre webserveren>> indeks.htmlFor å gjøre endringene, start Nginx på nytt
# systemctl start nginx på nyttTrinn 4: Test om lastbalanseren fungerer
Vi er endelig på det punktet hvor vi vil se om konfigurasjonen fungerer. Så logg deg på belastningsutjevneren og utfør krøllkommandoen gjentatte ganger
# krøll 3.17.12.132Du bør få vekslende utgang på terminalen som viser verdien av indeksen.html fra server_01 og server_02
La oss nå teste ved hjelp av en nettleser. Bla gjennom IP-adressen til lastbalansering
http: // lastbalanser-IP-adresseDen første siden viser innhold fra hvilken som helst av webserverne
Oppdater 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. Tilbakemeldingene dine blir satt stor pris på.