Come configurare HAProxy come Load Balancer per Nginx in CentOS 8

Come Configurare Haproxy Come Load Balancer Per Nginx In Centos 8



Proxy ad alta disponibilità, abbreviato anche come HAProxy, è un bilanciatore del carico leggero e veloce che funge anche da server proxy. Come bilanciatore del carico, svolge un ruolo cruciale nella distribuzione del traffico Web in entrata su più server Web utilizzando determinati criteri. In tal modo, garantisce un'elevata disponibilità e tolleranza ai guasti nel caso in cui vi siano troppe richieste simultanee che potrebbero sovraccaricare un singolo server web.

HaProxy è utilizzato da siti popolari come Tumblr, GitHub e StackOverflow. In questa guida, ti guideremo attraverso l'installazione di HAProxy in una configurazione di server Web alimentati tramite Nginx.

Installazione del laboratorio

3 istanze di server CentOS 7 come mostrato







Nome host            Indirizzi IP

load_balancer      3.17.12.132
server_01           3.19.229.234
server_02          3.17.9.217

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

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



$ perché / eccetera / host
3.19.229.234  server_01
3.17.9.217     server-02



Al termine, salva le modifiche ed esci dal file di configurazione.





Ora vai su ciascuno dei server web e aggiorna il file /etc/host file con l'indirizzo IP e il nome host del sistema di bilanciamento del carico

3.17.12.132   bilanciamento del carico

Successivamente, conferma di poter eseguire il ping del bilanciatore del carico da server_01



E allo stesso modo da server_02

Inoltre, assicurati di poter 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 HA Proxy sul sistema di bilanciamento del carico

Poiché HA Proxy è prontamente disponibile dal repository ufficiale CentOS, lo installeremo utilizzando il gestore di pacchetti yum o dnf.

Ma come sempre, aggiorna prima il sistema

# gnam aggiornamento

Successivamente, installa HA Proxy come mostrato

# gnam installa haproxy

Al termine dell'installazione, vai alla directory haproxy.

# CD / eccetera / haproxy

La best practice richiede di eseguire il backup di qualsiasi file di configurazione prima di apportare modifiche. Quindi esegui il backup del file haproxy.cfg file rinominandolo.

# mv haproxy.cfg  haproxy.cfg.bak

Quindi, procedi e apri il file di configurazione

perché haproxy.cfg

Assicurati di apportare la modifica come mostrato

#------------------------------------------------- --------------------
# Impostazioni globali
#------------------------------------------------- --------------------
globale
log         127.0.0.1 local2 #Configurazione registro

chroot / era / lib / haproxy
pidfile / era / correre / haproxy.pid
maxconn 4000
utente        haproxy #Haproxy in esecuzione sotto l'utente e il gruppo 'haproxy'
gruppo       haproxy
demone

# attiva il socket unix delle statistiche
presa delle statistiche / era / lib / haproxy / statistiche

#------------------------------------------------- --------------------
# impostazioni predefinite comuni a tutte le sezioni 'listen' e 'backend'
# usa se non designato nel loro blocco
#------------------------------------------------- --------------------
default
modalità                       http
log                       globale
opzione                    httplog
opzione                    dontlognull
opzione http-server-chiudi
opzione forwardper       tranne 127.0.0.0 / 8
opzione                    rispedizione
tentativi 3
timeout richiesta http    10 secondi
coda di timeout           1 m
timeout connessione         10s
client di timeout          1 m
server di timeout          1 m
timeout http-keep-alive 10s
controllo del timeout           10s
maxconn 3000

#------------------------------------------------- --------------------
#HAProxy monitoraggio config
#------------------------------------------------- --------------------
ascolta haproxy3-monitoraggio * : 8080 #Haproxy Monitoring eseguito sulla porta 8080
modalità http
opzione forwardfor
opzione httpclose
statistiche abilitare
statistiche show-leggende
le statistiche si aggiornano 5s
statistiche uri / statistiche #URL per il monitoraggio HAProxy
stats realm Haproxy\ Statistiche
statistiche auth Password123: Password123 #User e Password per accedere alla dashboard di monitoraggio
amministratore delle statistiche Se VERO
default_backend app-principale #Questo è facoltativo per il monitoraggio del back-end

#------------------------------------------------- --------------------
# Configurazione FrontEnd
#------------------------------------------------- --------------------
front-end principale
legamento * : 80
opzione http-server-chiudi
opzione forwardfor
default_backend app-principale

#------------------------------------------------- --------------------
# BackEnd round robin come algoritmo di bilanciamento
#------------------------------------------------- --------------------
principale dell'app di backend

girone di equilibrio #Algoritmo di equilibrio

opzione httpchk HEAD / http / 1.1 \r\nHost:\ host locale
#Verificare che l'applicazione server sia attiva e integra - codice di stato 200

server server_01 3.19.229.234: 80 dai un'occhiata #Nginx1

server server_02 3.17.9.217: 80 dai un'occhiata #Nginx2

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

Il prossimo passo sarà configurare Rsyslog per poter registrare le statistiche HAProxy.

# perché / eccetera / rsyslog.conf

Assicurati di rimuovere il commento dalle righe seguenti per consentire le connessioni UDP

$ModLoad imudp
$UDPServerRun 514

Successivamente, procedi e crea un nuovo file di configurazione haproxy.conf

# perché / eccetera / rsyslog.d / haproxy.conf

Incolla le seguenti righe, salva ed esci

local2.=info / era / tronco d'albero / haproxy-access.log #Per il registro degli accessi
local2.avviso / era / tronco d'albero / haproxy-info.log #Per informazioni sul servizio - Backend, bilanciamento del carico

Affinché le modifiche abbiano effetto, riavviare 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 stato rsyslog

Passaggio 3: installa e configura Nginx

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

# gnam aggiornamento

Prossima installazione  EPEL (Extra Packages for Enterprise Linux)

# gnam installa caldo rilascio

Per installare Nginx, esegui il comando:

# gnam installa nginx

Successivamente, avvia e abilita Nginx

# systemctl avvia nginx
# systemctl abilita nginx

Modificheremo quindi il file index.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

# eco 'server_01. Ehi! Benvenuto nel primo server web' > indice.html

Per server_02

# eco 'server_02. Ehi! Benvenuto nel secondo server web' > indice.html

Per rendere effettive le modifiche, riavviare Nginx

# systemctl riavvia nginx

Passaggio 4: verificare 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

# arricciatura 3.17.12.132

Dovresti ricevere un output alternativo sul terminale che mostra il valore di index.html  da server_01 e server_02

Ora testiamo utilizzando un browser web. Sfoglia l'indirizzo IP del tuo sistema di bilanciamento del carico

http: // indirizzo IP del bilanciamento del carico

La prima pagina visualizzerà il contenuto da uno qualsiasi dei server web


Ora aggiorna la pagina web e controlla se visualizza il contenuto dell'altro server web

Perfetto ! Il bilanciamento del carico sta distribuendo il traffico IP equamente tra i due server web!
Questo conclude questo tutorial su come installare e configurare HAProxy su CentOS 8. Il tuo feedback sarà molto apprezzato.