Sådan konfigureres HAProxy som Load Balancer til Nginx i CentOS 8

Sadan Konfigureres Haproxy Som Load Balancer Til Nginx I Centos 8



High Availability Proxy, også forkortet som HAProxy er en let og hurtig load balancer, som også fungerer som en proxyserver. Som en load balancer spiller den en afgørende rolle i fordeling af indgående webtrafik på tværs af flere webservere ved hjælp af bestemte kriterier. Ved at gøre det sikrer det høj tilgængelighed og fejltolerance i tilfælde af, at der er for mange samtidige anmodninger, som kan overbelaste en enkelt webserver.

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-balancer

Bekræ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 opdatering

Installer derefter HA Proxy som vist

# yum installer haproxy

Efter vellykket installation skal du navigere til haproxy-mappen.

# cd / etc / haproxy

Bedste 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.bak

Fortsæt derefter og åbn konfigurationsfilen

fordi haproxy.cfg

Sø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.conf

Sø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.conf

Indsæt følgende linjer, gem og afslut

local2.=info / var / log / haproxy-access.log #Til adgangslog
lokal2.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 rsyslog

Start derefter og aktiver HAProxy

# systemctl start rsyslog
# systemctl aktiver rsyslog

Bekræft, at HAProxy kører

# systemctl status rsyslog

Trin 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 opdatering

Næste installation  EPEL (ekstra pakker til Enterprise Linux)

# yum installer varm udgivelse

For at installere Nginx skal du køre kommandoen:

# yum installer nginx

Derefter 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.html

Til server_02

# ekko 'server_02. Hej! Velkommen til den anden webserver' > index.html

For at ændringerne skal udføres, genstart Nginx

# systemctl genstart nginx

Trin 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.132

Du 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-adresse

Den 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.