Hvordan sette opp haproxy som belastningsbalanse for nginx i centos 8

Hvordan sette opp haproxy som belastningsbalanse for nginx i centos 8
Proxy med høy tilgjengelighet, også forkortet som HAProxy er en lett og rask belastningsbalanse som også fungerer som en proxy -server. Som en belastningsbalanse spiller den en avgjørende rolle i å distribuere innkommende netttrafikk på tvers av flere webservere ved å bruke visse kriterier. Ved å gjøre dette sikrer det høy tilgjengelighet og feiltoleranse i tilfelle det er for mange samtidige forespørsler som kan overbelaste en enkelt webserver.

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 webserverere som er drevet med Nginx.

Laboppsett

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 lastbalansen

For å starte, logger du på Load Balancer -systemet og endrer /etc /hosts -filen for å inkludere vertsnavn og IP -adresser til de to webserverne som vist

$ vim /etc /verter
3.19.229.234 Server_01
3.17.9.217 Server-02

Når du er ferdig, lagrer du endringene og avslutter konfigurasjonsfilen.

Nå drar du ut til hver av webserverne og oppdaterer /etc/verter fil med IP -adressen og vertsnavnet til Load Balancer

3.17.12.132 Lastbalanser

Bekreft deretter at du kan pinge Load Balancer fra Server_01

Og på samme måte fra server_02

Forsikre deg også om at du kan pinge serverne fra lastbalansen.

Perfekt ! Alle servere kan kommunisere med lastbalansen!

Trinn 2: Installer og konfigurer HA -proxy på lastbalansen

Fordi HA -proxy er lett tilgjengelig fra CentOS offisielt depot, skal vi installere det ved hjelp av Yum eller DNF -pakkesjef.

Men som alltid, oppdater systemet først

# yum oppdatering

Deretter installerer du HA -proxy som vist

# yum installer haproxy

Ved vellykket installasjon, naviger til HAProxy -katalogen.

# CD /etc /haproxy

Beste praksis krever at vi sikkerhetskopierer enhver konfigurasjonsfil før vi gjør noen endringer. Så sikkerhetskopier haproxy.CFG fil ved å gi nytt navn til den.

# MV HAPROXY.CFG HAPROXY.CFG.Bak

Neste, fortsett og åpne konfigurasjonsfilen

vim haproxy.CFG

Forsikre deg om at du gjør modifiseringen som vist

#---------------------------------------------------------------------
# Globale innstillinger
#---------------------------------------------------------------------
global
Logg 127.0.0.1 Local2 #Log -konfigurasjon
chroot/var/lib/haproxy
pidfile/var/run/haproxy.PID
Maxconn 4000
Bruker HAProxy #Haproxy som kjører under bruker og gruppe "HAProxy"
Gruppe haproxy
Daemon
# Slå på statistikk UNIX -kontakten
Statistikk Socket/var/lib/haproxy/statistikk
#---------------------------------------------------------------------
# vanlige standardverdier at alle "lytt" og "backend" -seksjonene vil
# bruk hvis ikke utpekt i blokken deres
#---------------------------------------------------------------------
standardverdier
modus http
Log global
Alternativ Httplog
Alternativ Dontlognull
Alternativ HTTP-server-Close
Alternativ fremover unntatt 127.0.0.0/8
Alternativ Redispatch
Forsøk 3
Timeout HTTP-Request 10s
Timeout -kø 1M
Timeout Connect 10s
Timeout -klient 1M
Timeout Server 1M
Timeout HTTP-Keep-Alive 10s
Timeout Check 10s
Maxconn 3000
#---------------------------------------------------------------------
#Haproxy Monitoring Config
#---------------------------------------------------------------------
Lytt HAProxy3-overvåking *: 8080 #haproxy Monitoring Run på port 8080
modus http
Alternativ fremover for
Alternativ httpclose
statistikk aktiverer
Statistikk viser-legendene
Statistikk oppdaterer 5s
Statistikk URI /Statistikk #URL for HAProxy Monitoring
Stats Realm Haproxy \ Statistikk
Statistikk Auth Password123: Password123#Bruker og passord for pålogging til overvåkningsdashbordet
statistikk admin hvis sant
Default_backend App-Main #Dette er eventuelt for å overvåke backend
#---------------------------------------------------------------------
# Frontend -konfigurasjon
#---------------------------------------------------------------------
Frontend Main
bind *: 80
Alternativ HTTP-server-Close
Alternativ fremover for
standard_backend app-main
#---------------------------------------------------------------------
# Backend Round Robin som balansealgoritme
#---------------------------------------------------------------------
Backend App-Main
Balanse Roundrobin #Balance -algoritme
Alternativ httpchk head / http / 1.1 \ r \ nhost: \ localhost
#Sjekk serverapplikasjonen er oppe og helbredet - 200 statuskode
server server_01 3.19.229.234: 80 sjekk #nginx1
server server_02 3.17.9.217: 80 sjekk #nginx2

Sørg for å endre webserverenes vertsnavn og IP -adresser som angitt i de to siste linjene. Lagre endringene og avkjørselen.

Neste trinn vil være å konfigurere RsySlog for å kunne logge Haproxy Statistics.

# vim /etc /rsyslog.konf

Forsikre deg om at du ukomment linjene nedenfor for å tillate UDP -tilkoblinger

$ MODLOAD IMUDP
$ UDPSERVERRUN 514

Neste, fortsett og opprett en ny konfigurasjonsfil haproxy.konf

# vim /etc /rsyslog.D/HAProxy.konf

Lim inn følgende linjer, lagre og gå ut

Local2.= info/var/log/haproxy-tilgang.Logg #for tilgangslogg
Local2.Legg merke til/var/log/haproxy-info.Logg #For Service Info - Backend, LoadBalancer

For at endringene skal få virkning på nytt, start RSYSLOG -demonen som vist:

# SystemCTL RESTART RSYSLOG

Start 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 delen som gjenstår installasjonen av Nginx. Logg deg på hver av serverne og oppdater først systempakkene:

# yum oppdatering

Neste installer Epel (ekstra pakker for Enterprise Linux)

# yum installer epel-release

For å installere Nginx, kjør kommandoen:

# yum install nginx

Neste, start og aktiver Nginx

# SystemCTL Start Nginx
# SystemCTL Aktiver Nginx

Vi skal da endre indeksen.HTML -fil i begge tilfeller for å demonstrere eller simulere hvordan lastbalansen er i stand til å distribuere netttrafikk på begge serverne.

For server_01

# ekko "server_01. Hei ! Velkommen til den første webserveren "> Indeks.html

For server_02

# ekko "server_02. Hei ! Velkommen til den andre webserveren "> Indeks.html

For at endringene skal utføres, start NGINX på nytt

# SystemCTL Restart Nginx

Trinn 4: Testing hvis lastbalansen fungerer

Vi er endelig på det punktet hvor vi vil se om konfigurasjonen fungerer. Så logg inn på Load Balancer og utfør Curl -kommandoen gjentatte ganger

# krøll 3.17.12.132

Du 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 Load Balancer's IP -adresse

http: // Load-Balancer-iP-Adress

Den første siden vil vise innhold fra noen av webserverne


Oppdater nå websiden og sjekk om den viser innhold fra den andre webserveren

Perfekt ! Lastbalansen distribuerer IP -trafikk likt mellom de to webserverne !
Dette pakker opp denne opplæringen om hvordan du kan installere samt konfigurere Haproxy på CentOS 8. Din tilbakemelding vil bli satt stor pris på.