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