Come configurare haproxy come bilanciamento del carico per nginx in centos 8

Come configurare haproxy come bilanciamento del carico per nginx in centos 8
Proxy ad alta disponibilità, anche abbreviato come haproxy è un bilanciamento del carico leggero e veloce che raddoppia anche come server proxy. Come bilanciamento del carico, svolge un ruolo cruciale nella distribuzione del traffico Web in arrivo su più server Web utilizzando determinati criteri. In tal modo, garantisce un'elevata disponibilità e tolleranza agli errori nel caso in cui ci siano troppe richieste simultanee che potrebbero sovraccaricare un singolo server Web.

Haproxy è usato da siti popolari come Tumblr, GitHub e StackOverflow. In questa guida, ti porteremo attraverso l'installazione di Haproxy in una configurazione di Webservers che sono alimentati utilizzando Nginx.

Setup di laboratorio

3 istanze di server CentOS 7 come mostrato

Indirizzi IP con nome host
load_balancer 3.17.12.132
Server_01 3.19.229.234
Server_02 3.17.9.217

Passaggio 1: modificare il file /etc /host per il bilanciamento del carico

Per iniziare, accedi al sistema di bilanciamento del carico e modifica il file /etc /host per includere nomi host e indirizzi IP dei due server Web come mostrato

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

Una volta fatto, salva le modifiche ed esci dal file di configurazione.

Ora vai a ciascuno dei server Web e aggiorna il /etc/host File con l'indirizzo IP e il nome host del bilanciamento del carico

3.17.12.132 Balancer di carico

Successivamente, conferma che è possibile eseguire il ping del bilanciamento del carico da Server_01

E allo stesso modo da Server_02

Inoltre, assicurati, puoi eseguire il ping dei server dal bilanciamento del carico.

Perfetto ! Tutti i server possono comunicare con il bilanciamento del carico!

Passaggio 2: installare e configurare il proxy HA sul bilanciamento del carico

Poiché HA Proxy è prontamente disponibile dal repository ufficiale di CentOS, lo installeremo utilizzando Yum o DNF Package Manager.

Ma come sempre, aggiorna prima il sistema

# aggiornamento di yum

Successivamente, installa il proxy HA come mostrato

# yum installa haproxy

In caso di installazione riuscita, vai alla directory haproxy.

# cd /etc /haproxy

Best Practice ci richiede di eseguire il backup di qualsiasi file di configurazione prima di apportare eventuali modifiche. Quindi esegui il backup del Haproxy.cfg File rinominandolo.

# mv haproxy.CFG Haproxy.cfg.Bak

Quindi, procedi e apri il file di configurazione

Vim Haproxy.cfg

Assicurati di apportare la modifica come mostrato

#---------------------------------------------------------------------
# Impostazioni globali
#---------------------------------------------------------------------
globale
Log 127.0.0.1 Configurazione Local2 #log
chroot/var/lib/haproxy
pidfile/var/run/haproxy.pid
MaxConn 4000
utente haproxy #haproxy in esecuzione sotto l'utente e il gruppo "haproxy"
Gruppo Haproxy
demone
# Accendi le statistiche UNIX Socket
STATS STOCK/VAR/LIB/HAPROXY/STATS
#---------------------------------------------------------------------
# le valori predefiniti comuni che tutte le sezioni "ascolta" e "backend" lo faranno
# Utilizzare se non designato nel loro blocco
#---------------------------------------------------------------------
predefiniti
Modalità http
registro globale
Opzione httPlog
Opzione Dontlognull
Opzione HTTP-Server-Close
Opzione in avanti tranne 127.0.0.0/8
Opzione Redispatch
tentativi 3
timeout http-request 10s
Timeout coda 1m
timeout Connect 10s
Timeout Client 1m
Timeout Server 1m
timeout http-keep-alive 10s
Timeout Controlla 10s
MaxConn 3000
#---------------------------------------------------------------------
#Haproxy Monitoring Config
#---------------------------------------------------------------------
Ascolta haproxy3-monitoraggio *: 8080 #Haproxy Monitoraggio su Porta 8080
Modalità http
opzione in avanti
Opzione httpclose
le statistiche abilitano
Statistiche Show-Legends
Statistiche Aggiorna 5s
STATS URI /STATS #URL per il monitoraggio di Haproxy
Statistiche Realm Haproxy \ Statistics
STATS AUTH Password123: password123#utente e password per l'accesso alla dashboard di monitoraggio
statistiche amministratore se vero
Default_backend App-Main #This è facoltativamente per il monitoraggio del backend
#---------------------------------------------------------------------
# Configurazione frontend
#---------------------------------------------------------------------
Frontend Main
Bind *: 80
Opzione HTTP-Server-Close
opzione in avanti
Default_backend App-Main
#---------------------------------------------------------------------
# Backend round robin come algoritmo di equilibrio
#---------------------------------------------------------------------
Backend App-Main
Bilancia l'algoritmo #Balance #Balance
Opzione HTTPCHK Head / HTTP / 1.1 \ r \ nhost: \ localhost
#Check, l'applicazione del server è aumentata e Healty - 200 codice di stato
Server Server_01 3.19.229.234: 80 Check #nginx1
Server Server_02 3.17.9.217: 80 Controlla #nginx2

Assicurati di modificare il nome host dei server Web e gli indirizzi IP come indicato nelle ultime due righe. Salva le modifiche ed esci.

Il prossimo passo sarà configurare RSYSLOG per poter registrare le statistiche di Haproxy.

# vim /etc /rsyslog.conf

Assicurati di disgustare le linee sottostanti per consentire connessioni UDP

$ Modload imudp
$ Udpserverrun 514

Quindi, procedi e crea un nuovo file di configurazione Haproxy.conf

# vim /etc /rsyslog.d/haproxy.conf

Incolla le seguenti righe, salva ed esci

local2.= info/var/log/haproxy-access.Registro #per il registro di accesso
local2.AVVISO/VAR/LOG/HAPROXY-INFO.Log #For Service Info - Backend, LoadBalancer

Affinché le modifiche abbiano effetto riavvia il demone RSYSLOG come mostrato:

# SystemCtl Riavvia RSYSLOG

Quindi avviare e abilitare haproxy

# SystemCtl Avvia RSYSLOG
# SystemCtl Abilita rsyslog

Verificare che Haproxy sia in esecuzione

# SystemCtl Status rsyslog

Passaggio 3: installare e configurare nginx

Ora, l'unica parte rimasta è l'installazione di nginx. Accedi a ciascuno dei server e prima aggiorna i pacchetti di sistema:

# aggiornamento di yum

Avanti Installa EPEL (pacchetti extra per Enterprise Linux)

# yum installa epel-release

Per installare Nginx, eseguire il comando:

# yum installa nginx

Quindi, avvia e abilita nginx

# SystemCtl Start Nginx
# SystemCtl Abilita nginx

Quindi modificheremo l'indice.File HTML in entrambi i casi per dimostrare o simulare come il bilanciamento del carico è in grado di distribuire il traffico Web su entrambi i server.

Per server_01

# echo "server_01. EHI ! Benvenuti nel primo server web "> indice.html

Per server_02

# echo "server_02. EHI ! Benvenuti nel secondo server web "> indice.html

Per effettuare le modifiche, riavviare Nginx

# SystemCtl Riavvia Nginx

Passaggio 4: test se il bilanciamento del carico funziona

Siamo finalmente al punto in cui vogliamo vedere se la configurazione funziona. Quindi accedi al bilanciamento del carico ed esegui ripetutamente il comando Curl

# Curl 3.17.12.132

Dovresti ottenere l'output alternato sul terminale che mostra il valore dell'indice.HTML da Server_01 e Server_02

Ora testiamo utilizzando un browser Web. Sfoglia l'indirizzo IP del bilanciamento del carico

http: // load-balancer-ip-address

La prima pagina visualizzerà i contenuti da uno qualsiasi dei server Web


Ora aggiorna la pagina Web e controlla se visualizza i contenuti dall'altro server Web

Perfetto ! Il saldo del carico sta distribuendo il traffico IP equamente tra i due server Web !
Questo avvolge questo tutorial su come è possibile installare e configurare haproxy su CentOS 8. Il tuo feedback sarà molto apprezzato.