HAProxy

Slik konfigurerer du HAProxy som belastningsbalanse for Nginx i CentOS 8

Slik konfigurerer du HAProxy som belastningsbalanse for Nginx i CentOS 8
Proxy med høy tilgjengelighet, også forkortet HAProxy, er en lett og rask belastningsbalanser som også fungerer som en proxy-server. Som lastbalanser spiller den en avgjørende rolle i distribusjonen av innkommende webtrafikk over flere webservere ved bruk av visse kriterier. Ved å gjøre det 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 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-adresser
belastningsbalanse 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 / verter
3.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 lastbalanser

Bekreft 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 oppdatering

Deretter installerer du HA Proxy som vist

# yum install haproxy

Etter vellykket installasjon, naviger til haproxy-katalogen.

# cd / etc / haproxy

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

Neste, fortsett og åpne konfigurasjonsfilen

vim haproxy.cfg

Forsikre 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.konf

Forsikre 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.konf

Lim inn følgende linjer, lagre og avslutt

lokal2.= info / var / log / haproxy-tilgang.logg # For tilgangslogg
lokal2.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å nytt

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 gjenværende delen installasjonen av Nginx. Logg inn på hver av serverne og oppdater systempakken først:

# yum oppdatering

Neste installasjon EPEL (Ekstra pakker for Enterprise Linux)

# yum installer epel-release

For å installere Nginx, kjør kommandoen:

# yum install nginx

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

For server_02

# echo "server_02. Hei ! Velkommen til den andre webserveren>> indeks.html

For å gjøre endringene, start Nginx på nytt

# systemctl start nginx på nytt

Trinn 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.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 IP-adressen til lastbalansering

http: // lastbalanser-IP-adresse

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

Mus Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Musepekeren og markøren i Windows 10 er veldig viktige aspekter ved operativsystemet. Dette kan sies også for andre operativsystemer, så i sannhet er ...
Gratis og åpen kildekode-spillmotorer for utvikling av Linux-spill
Denne artikkelen vil dekke en liste over gratis og open source-spillmotorer som kan brukes til å utvikle 2D- og 3D-spill på Linux. Det er mange slike ...
Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider er det tolvte tilskuddet til Tomb Raider-serien - et action-eventyrspill-franchise opprettet av Eidos Montreal. Spillet ble ...