HaProxy bruges af populære websteder som Tumblr, GitHub og StackOverflow. I denne vejledning fører vi dig gennem installationen af HAProxy i en opsætning af webservere, der får strøm ved hjælp af Nginx.
Lab opsætning
3 forekomster af CentOS 7-servere som vist
Værtsnavn IP-adresserload_balancer 3.17.12.132
server_01 3.19.229.234
server_02 3.17.9.217
Trin 1: Rediger / etc / hosts-filen til load balancer
For at starte skal du logge ind i load balancer-systemet og ændre / etc / hosts-filen for at inkludere værtsnavne og IP-adresser på de to webservere som vist
$ vim / etc / hosts3.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 belastningsbalancers IP-adresse og værtsnavn
3.17.12.132 belastningsbalancerBekræft derefter, at du kan pinge load balancer fra server_01
Og ligeledes fra server_02
Sørg også for, at du kan pinge serverne fra load balancer.
Perfekt ! alle servere kan kommunikere med load balancer!
Trin 2: Installer og konfigurer HA Proxy på load balancer
Da HA Proxy er let tilgængelig fra CentOS officielle lager, 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 haproxy
Efter vellykket installation skal du navigere til haproxy-biblioteket.
# cd / etc / haproxyBedste praksis kræver, at vi sikkerhedskopierer enhver konfigurationsfil, før vi foretager ændringer. Så sikkerhedskopier haproxy.cfg fil ved at omdøbe den.
# mv haproxy.cfg haproxy.cfg.bagFortsæt derefter og åbn konfigurationsfilen
vim haproxy.cfgSørg for, at du foretager ændringen som vist
#---------------------------------------------------------------------# Globale indstillinger
#---------------------------------------------------------------------
global
log 127.0.0.1 lokal2 # logkonfiguration
chroot / var / lib / haproxy
pidfile / var / run / haproxy.pid
maxconn 4000
bruger haproxy #Haproxy kører under bruger og gruppe "haproxy"
gruppe haproxy
dæmon
# slå statistik unix-stik til
statsstik / var / lib / haproxy / statistik
#---------------------------------------------------------------------
# almindelige standardindstillinger, som alle sektionerne "lyt" og "backend" vil
# brug hvis ikke angivet i deres blok
#---------------------------------------------------------------------
standardindstillinger
tilstand http
log global
option httplog
valgmulighed dontlognull
indstilling http-server-luk
option forwardfor undtagen 127.0.0.0/8
mulighed for genforsendelse
prøver igen 3
timeout http-anmodning 10'ere
timeout-kø 1m
timeout forbind 10s
timeout klient 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
#---------------------------------------------------------------------
#HAProxy Monitoring Config
#---------------------------------------------------------------------
lyt haproxy3-overvågning *: 8080 #Haproxy-overvågning køres på port 8080
tilstand http
option frem til
valgmulighed httpclose
statistik aktiveres
statistik show-legender
statistik opdaterer 5s
stats uri / stats #URL til HAProxy-overvågning
statistik rige Haproxy \ Statistics
stats auth Password123: Password123 # Bruger og adgangskode til login til overvågningsdashboardet
statsadministrator hvis SAND
default_backend app-main # Dette er valgfrit til overvågning af backend
#---------------------------------------------------------------------
# FrontEnd-konfiguration
#---------------------------------------------------------------------
frontend hoved
bind *: 80
valgmulighed http-server-tæt
option frem til
default_backend app-main
#---------------------------------------------------------------------
# BackEnd round robin som balance algoritme
#---------------------------------------------------------------------
backend app-main
balance roundrobin #Balance-algoritme
indstilling httpchk HEAD / HTTP / 1.1 \ r \ nHost: \ localhost
# Kontroller, at serverapplikationen er op og sund - 200 statuskode
server server_01 3.19.229.234: 80 kontrol # Nginx1
server server_02 3.17.9.217: 80 tjek # 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 statistik.
# vim / etc / rsyslog.konfSørg for at fjerne kommentar fra nedenstående linjer for at tillade UDP-forbindelser
$ ModLoad imudp$ UDPServerKør 514
Fortsæt derefter og opret en ny konfigurationsfil haproxy.konf
# vim / etc / rsyslog.d / haproxy.konfIndsæt følgende linjer, gem og afslut
lokal2.= info / var / log / haproxy-adgang.log # For adgangsloglokal2.meddelelse / var / log / haproxy-info.log #For serviceinfo - Backend, loadbalancer
For at ændringerne skal træde i kraft, genstart rsyslog-dæmonen som vist:
# systemctl genstart rsyslogStart og aktiver derefter HAProxy
# systemctl start rsyslog# systemctl aktiver rsyslog
Kontroller, at HAProxy kører
# systemctl status rsyslog
Trin 3: Installer og konfigurer Nginx
Nu er den eneste resterende del installationen af Nginx. Log ind på hver af serverne, og opdater først systempakkerne:
# yum opdateringNæste installation af EPEL (ekstra pakker til Enterprise Linux)
# yum installer epel-releaseFor at installere Nginx skal du køre kommandoen:
# yum install nginxStart derefter og aktiver Nginx
# systemctl start nginx# systemctl aktiver nginx
Vi vil derefter ændre indekset.html-fil i begge tilfælde for at demonstrere eller simulere, hvordan load balancer er i stand til at distribuere webtrafik på tværs af begge servere.
For server_01
# echo "server_01. Hej ! Velkommen til den første webserver "> indeks.htmlFor server_02
# echo "server_02. Hej ! Velkommen til den anden webserver "> indeks.htmlFor at ændringerne skal gennemføres, genstart Nginx
# systemctl genstart nginxTrin 4: Test om belastningsbalanceren fungerer
Vi er endelig på det punkt, hvor vi vil se, om konfigurationen fungerer. Så log ind på load balancer og udfør curl-kommandoen gentagne gange
# krølle 3.17.12.132Du skal få alternerende output på terminalen, der viser indeksværdien.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 viser indhold fra en hvilken som helst 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 samt konfigurere HAProxy på CentOS 8. Din feedback vil blive meget værdsat.