HaProxy bruges af populære websteder som Tumblr, GitHub og StackOverflow. I denne guide vil vi tage dig igennem installationen af HAProxy i en opsætning af webservere, der drives af Nginx.
Laboratorieopsætning
3 forekomster af CentOS 7-servere som vist
Værtsnavn IP-adresser
load_balancer 3.17.12.132
server_01 3.19.229.234
server_02 3.17.9.217
Trin 1: Rediger filen /etc/hosts for belastningsbalanceren
For at starte skal du logge ind på load balancer-systemet og ændre filen /etc/hosts til at inkludere værtsnavnene og IP-adresserne på de to webservere som vist
$ fordi / etc / værter
3.19.229.234 server_01
3.17.9.217 server-02
Når du er færdig, skal du gemme ændringerne og afslutte konfigurationsfilen.
Gå nu ud til hver af webserverne og opdater /etc/hosts fil med IP-adressen og værtsnavnet på belastningsbalanceren
3.17.12.132 load-balancerBekræft derefter, at du kan pinge belastningsbalanceren fra server_01
Og ligeledes fra server_02
Sørg også for, at du kan pinge serverne fra belastningsbalanceren.
Perfekt ! alle servere kan kommunikere med load balanceren!
Trin 2: Installer og konfigurer HA Proxy på belastningsbalanceren
Fordi HA Proxy er let tilgængelig fra CentOS officielle repository, vil vi installere det ved hjælp af yum eller dnf pakkehåndtering.
Men som altid skal du opdatere systemet først
# yum opdateringInstaller derefter HA Proxy som vist
# yum installer haproxyEfter vellykket installation skal du navigere til haproxy-mappen.
# cd / etc / haproxyBedste praksis kræver, at vi sikkerhedskopierer enhver konfigurationsfil, før vi foretager ændringer. Så tag backup af haproxy.cfg fil ved at omdøbe den.
# mv haproxy.cfg haproxy.cfg.bakFortsæt derefter og åbn konfigurationsfilen
fordi haproxy.cfgSørg for at foretage ændringen som vist
#------------------------------------------------ --------------------# Globale indstillinger
#------------------------------------------------ --------------------
global
log 127.0.0.1 lokal2 #Log konfiguration
chroot / var / lib / haproxy
pidfil / var / løb / haproxy.pid
maxconn 4000
bruger haproxy #Haproxy kører under bruger og gruppe 'haproxy'
gruppe haproxy
dæmon
# slå statistik unix-socket til
statistik socket / var / lib / haproxy / statistik
#------------------------------------------------ --------------------
# almindelige standarder, som alle 'lyt' og 'backend' sektioner vil
# brug, hvis det ikke er angivet i deres blok
#------------------------------------------------ --------------------
standardindstillinger
tilstand http
log global
mulighed httplog
mulighed dontlognull
mulighed http-server-luk
mulighed videresendefor undtagen 127.0.0.0 / 8
mulighed videresendelse
forsøger igen 3
timeout http-anmodning 10s
timeout-kø 1m
timeout forbindelse 10s
timeout klient 1m
timeout-server 1m
timeout http-hold-levende 10s
timeout check 10s
maxconn 3000
#------------------------------------------------ --------------------
#HAProxy Monitoring Config
#------------------------------------------------ --------------------
lyt til haproxy3-overvågning * : 8080 #Haproxy-overvågning kører på port 8080
tilstand http
mulighed frem for
mulighed httpluk
statistik aktivere
statistik show-legender
statistik opdatering 5s
statistik uri / statistik #URL til HAProxy-overvågning
stats realm Haproxy\ Statistik
stats auth Password123: Password123 #Bruger og adgangskode til login til overvågningsdashboardet
statistik admin hvis SAND
default_backend app-main #Dette er valgfrit til overvågning af backend
#------------------------------------------------ --------------------
# FrontEnd-konfiguration
#------------------------------------------------ --------------------
frontend hoved
binde * : 80
mulighed http-server-luk
mulighed frem for
default_backend app-main
#------------------------------------------------ --------------------
# BackEnd round robin som balancealgoritme
#------------------------------------------------ --------------------
backend app-main
balance roundrobin #Balancealgoritme
mulighed httpchk HEAD / HTTP / 1.1 \r\nVært:\ lokalvært
#Tjek, at serverapplikationen er oppe og i orden - 200 statuskode
server server_01 3.19.229.234: 80 kontrollere #Nginx1
server server_02 3.17.9.217: 80 kontrollere #Nginx2
Sørg for at ændre webserverens værtsnavn og IP-adresser som angivet i de sidste to linjer. Gem ændringerne og afslut.
Det næste trin vil være at konfigurere Rsyslog til at kunne logge HAProxy-statistikker.
# fordi / etc / rsyslog.confSørg for at fjerne kommentarer til linjerne nedenfor for at tillade UDP-forbindelser
$ModLoad iudp$UDPServerRun 514
Fortsæt derefter og opret en ny konfigurationsfil haproxy.conf
# fordi / etc / rsyslog.d / haproxy.confIndsæt følgende linjer, gem og afslut
local2.=info / var / log / haproxy-access.log #Til adgangsloglokal2.meddelelse / var / log / haproxy-info.log #For Service Info - Backend, loadbalancer
For at ændringerne skal træde i kraft, genstart rsyslog-dæmonen som vist:
# systemctl genstart rsyslogStart derefter og aktiver HAProxy
# systemctl start rsyslog# systemctl aktiver rsyslog
Bekræft, at HAProxy kører
# systemctl status rsyslogTrin 3: Installer og konfigurer Nginx
Nu er den eneste del, der er tilbage, installationen af Nginx. Log ind på hver af serverne og opdater først systempakkerne:
# yum opdateringNæste installation EPEL (ekstra pakker til Enterprise Linux)
# yum installer varm udgivelseFor at installere Nginx skal du køre kommandoen:
# yum installer nginxDerefter skal du starte og aktivere Nginx
# systemctl start nginx# systemctl aktiver nginx
Vi vil derefter ændre filen index.html i begge tilfælde for at demonstrere eller simulere, hvordan load balanceren er i stand til at distribuere webtrafik på tværs af begge servere.
Til server_01
# ekko 'server_01. Hej! Velkommen til den første webserver' > index.htmlTil server_02
# ekko 'server_02. Hej! Velkommen til den anden webserver' > index.htmlFor at ændringerne skal udføres, genstart Nginx
# systemctl genstart nginxTrin 4: Tester om belastningsbalanceren virker
Vi er endelig på det punkt, hvor vi ønsker at se, om konfigurationen virker. Så log ind på belastningsbalanceren og udfør curl-kommandoen gentagne gange
# krølle 3.17.12.132Du bør få alternerende output på terminalen, der viser værdien af index.html fra server_01 og server_02
Lad os nu teste ved hjælp af en webbrowser. Gennemse din load balancers IP-adresse
http: // load-balancer-IP-adresseDen første side vil vise indhold fra enhver af webserverne
Opdater nu websiden og kontroller, om den viser indhold fra den anden webserver
Perfekt ! Belastningsbalancen fordeler IP-trafik ligeligt mellem de to webservere!
Dette afslutter denne vejledning om, hvordan du kan installere og konfigurere HAProxy på CentOS 8. Din feedback vil blive værdsat.