Come installare e configurare haproxy sulla top 10 di Ubuntu.Top 10 LTS

Come installare e configurare haproxy sulla top 10 di Ubuntu.Top 10 LTS
Haproxy è un pacchetto open source e leggero che offre elevata disponibilità e bilanciamento del carico per i programmi basati su TCP e HTTP. Distribuisce il carico tra i server Web e applicazioni. Haproxy è disponibile per quasi tutte le distribuzioni Linux. È un bilanciamento del carico ampiamente utilizzato che è popolare per la sua efficienza, affidabilità, bassa memoria e impronta della CPU. In questo post, spiegheremo come installare e configurare Haproxy su un sistema Ubuntu.

Abbiamo configurato tre macchine. Installeremo Haproxy su un server e i server Web Apache su due server. Il nostro server Haproxy fungerà quindi da bilanciamento del carico e distribuirà il carico tra i server Web Apache.

Nota: La procedura e i comandi menzionati in questo post sono stati testati Ubuntu 20.04 LTS (fossa focale). La stessa procedura è valida anche per le distribuzioni Debian e Mint.

Dettagli di rete

Useremo tre server Ubuntu; tutto sulla stessa rete. I dettagli dei nostri server sono i seguenti:

Nome host: Haproxy, Indirizzo IP: 192.168.72.157 (Frontend Server)
Nome host: Web-Server1, Indirizzo IP: 192.168.72.158 (server backend)
Nome host: Web-Server2, Indirizzo IP: 192.168.72.159 (server backend)

Nota: Devi avere privilegi sudo su tutti i server.

Configurare una macchina come bilanciamento del carico e gli altri due come server Web. Il server Haproxy sarà il nostro server front-end che riceverà le richieste dagli utenti e le inoltreranno ai due server Web. I server Web saranno i nostri server back -end che riceveranno quelle richieste inoltrate.

Ecco come appare la nostra configurazione:

Impostazione dei server dei server Web-backend

In questa sezione, configureremo due server Web (Web-Server1 E Web-Server2) come i nostri server di backend.

Su Web-Server1 (192.168.72.158)

Esegui i passaggi seguenti nel tuo server web. Assicurati di sostituire i nomi host e gli indirizzi IP con gli indirizzi IP e i nomi host pertinenti dei server Web.

1. Configurare il file host

SU Web-Server1, modificare il /etc/host file:

$ sudo nano /etc /host

Quindi aggiungi la voce del nome host per Haproxy server come segue:

nome host-of-haproxy IP-Address of-Haproxy

Nel nostro scenario, sarebbe:

Haproxy 192.168.72.157

Setup Apache Webserver

Ora installa Apache Web Server utilizzando il comando seguente nel terminale. Puoi anche visitare il nostro post su Come installare il server Web Apache su Linux.

$ sudo apt install apache2

Quindi abilitare e avviare il servizio Apache utilizzando i comandi seguenti nel terminale:

$ sudo systemctl abilita apache2
$ sudo systemctl avvia apache2

Crea un file indice per Web-Server1 Utilizzando il comando seguente nel terminale:

$ eco "

Ciao! Questo è WebServer1: 192.168.72.158

"| Sudo tee/var/www/html/indice.html

Se un firewall è in esecuzione sul tuo sistema, dovrai consentire il traffico di Apache attraverso di esso:

$ sudo UFW Consenti 80/TCP

Quindi ricarica le configurazioni del firewall:

$ ufw ricarica

Ora prova ad accedere al sito nel browser web digitando http: // seguito dall'indirizzo IP o dal nome host del tuo server web.

http: // hostname-op-address

In alternativa, puoi anche utilizzare il comando Curl per testare la pagina Web.

$ CURL

Su Web Server-2 192.168.72.159)

Esegui i passaggi seguenti nel secondo server Web. Assicurati di sostituire i nomi host e gli indirizzi IP con gli indirizzi IP e i nomi host pertinenti dei server Web.

1. Configurare il file host

In Web-Server2, modificare il /etc/host file:

$ sudo nano /etc /host

Quindi aggiungi la voce del nome host per Haproxy server come segue:

Haproxy 192.168.72.157

2. Installa Apache Webserver

Ora installa Apache Web Server utilizzando il comando seguente nel terminale.

$ sudo apt install apache2

Quindi abilitare e avviare il servizio Apache utilizzando i comandi seguenti nel terminale:

$ sudo systemctl abilita apache2
$ sudo systemctl avvia apache2

Crea un file indice per Web-Server2 utilizzando il comando seguente nel terminale:

$ eco "

Ciao! Questo è WebServer2: 192.168.72.159

"| Sudo tee/var/www/html/indice.html

Consenti Apache nel firewall:

$ sudo UFW Consenti 80/TCP

e poi ricaricare le configurazioni del firewall:

$ ufw ricarica

Ora prova ad accedere al sito nel browser web digitando http: // seguito dall'indirizzo IP o dal nome host.

http: // hostname-op-address

In alternativa, è possibile utilizzare il comando Curl per testare la pagina Web.

$ CURL

Ora i nostri server Web Apache sono pronti.

Impostazione del server di bilanciatore del carico Haproxy

In questa sezione, imposteremo un bilanciamento del carico Haproxy per il nostro server web. Questo server haproxy fungerà da server front e accetta le richieste in arrivo dai client.

Sul Haproxy server (192.168.72.157), eseguire i passaggi seguenti per configurare il bilanciamento del carico.

Configurare il file host

Modificare il /etc/host File usando il comando seguente nel terminale:

$ sudo nano /etc /host

Aggiungi le seguenti voci host per entrambi Apache server web insieme al proprio nome host:

192.168.72.157 Haproxy
192.168.72.158 Web-Server1
192.168.72.159 Web-Server2

Ora salva e chiudi il /etc/host file.

Installazione del bilanciamento del carico Haproxy

Ora in questo passaggio, installeremo l'haproxy su uno dei nostri server Ubuntu (192.168.72.157). Per fare ciò, aggiorna APT utilizzando il seguente comando in terminale:

$ sudo apt-get update

Quindi aggiorna i pacchetti utilizzando il comando seguente:

$ sudo apt-get upgrade

Ora installa haproxy utilizzando il seguente comando in terminale:

$ sudo sudo apt install haproxy

Una volta terminata l'installazione del server Haproxy, è possibile confermarlo utilizzando il comando seguente nel terminale:

$ haproxy -v

Ti mostrerà la versione installata di Haproxy sul tuo sistema che verifica che l'haproxy sia stato installato correttamente.

Configurazione di haproxy come bilanciamento del carico

Nella sezione seguente, configureremo Haproxy come bilanciamento del carico. Fare così, Modifica il/etc/haproxy/haproxy.cfg file:

$ sudo nano /etc/haproxy/haproxy.cfg

Aggiungi le seguenti righe nell'haproxy.File CFG Sostituzione degli indirizzi IP con i propri indirizzi IP.

Il Frontend Web-Frontend Nelle righe di configurazione sopra indica a Haproxy di ascoltare le richieste in arrivo sulla porta 80 Di 192.168.72.157 e poi inoltrali ai server back -end configurati sotto il Backend Web-backend. Durante la configurazione, sostituire gli indirizzi IP con gli indirizzi IP pertinenti dei server Web.

Configurazione del monitoraggio di Haproxy

Con il monitoraggio di Haproxy, è possibile visualizzare molte informazioni tra cui lo stato del server, i dati trasferiti, il tempo di attività, la velocità di sessione, ecc. Per configurare il monitoraggio di Haproxy, aggiungere le seguenti righe nel file di configurazione situato su /etc/haproxy/haproxy.cfg:

Ascolta le statistiche
Bind 192.168.72.157: 8080
Modalità http
opzione in avanti
Opzione httpclose
le statistiche abilitano
Statistiche Show-Legends
Statistiche Aggiorna 5s
statistiche URI /STAT
Statistiche Realm Haproxy \ Statistics
Statistiche Auth Kbuzdar: KBuzdar #login Utente e password per il monitoraggio
statistiche amministratore se vero
Default_backend Web-Backend

La configurazione sopra abilita l'aproxy "statistiche”Pagina usando il file statistiche direttiva e proteggerlo con http autenticazione di base utilizzando il nome utente e la password definiti da statistiche auth direttiva.

Una volta terminato le configurazioni, salva e chiudi il Haproxy.File CFG.

Ora verifica il file di configurazione utilizzando il comando seguente nel terminale:

$ haproxy -c -f/etc/haproxy/haproxy.cfg

Il seguente output mostra che le configurazioni sono corrette.

Ora per applicare le configurazioni, riavviare il servizio Haproxy:

$ sudo systemctl riavvia haproxy.servizio

Si fermerà e quindi avverrà il servizio haproxy.

Per verificare lo stato del servizio Haproxy, il comando sarebbe:

$ sudo systemctl status haproxy.servizio

IL attivo (in esecuzione) Lo stato nel seguente output mostra che il server haproxy è abilitato ed funzionante.

Ecco alcuni altri comandi per la gestione del server Haproxy:

Per avviare il server Haproxy, il comando sarebbe:

$ sudo systemctl start haproxy.servizio

Per fermare il server Haproxy, il comando sarebbe:

$ sudo systemctl fert haproxy.servizio

Nel caso in cui desideri disabilitare temporaneamente il server Haproxy, il comando sarebbe:

$ sudo systemctl disabilita haproxy.servizio

Per riaccendere il server haproxy, il comando sarebbe:

$ sudo systemctl abilita haproxy.servizio

Test haproxy

Prima di testare l'installazione di Haproxy, assicurarsi di avere connettività ai server Web. Dal tuo server haproxy, eseguire il ping di entrambi i server Web con i loro indirizzi IP o nomi host.

$ ping hostname-or-ip-address

Il seguente output mostra che il server Haproxy può raggiungere entrambi i server Web.

Test HA Proxy utilizzando un browser Web

Ora nel tuo server haproxy, apri qualsiasi browser Web e digita http: // seguito dall'indirizzo IP del server Haproxy che nel nostro caso è 192.168.72.157.

http: // 192.168.72.157

Il server Haproxy invierà in alternativa la richiesta a entrambi i server Web con un metodo round-robin. Puoi testare questo ricaricando la pagina web alcune volte.

Questa è la risposta che abbiamo ricevuto quando abbiamo visitato http: // 192.168.72.157 per la prima volta:

Questa è la risposta che abbiamo ricevuto quando abbiamo ricaricato la pagina web:

È inoltre possibile utilizzare il nome host al posto dell'indirizzo IP del server haproxy.

Test HA Proxy usando Curl

È inoltre possibile utilizzare il comando Curl in Linux per testare la configurazione di Haproxy. Apri il terminale e il tipo arricciare seguito dall'indirizzo IP o dal nome host del server haproxy.

$ CURL 192.168.72.157

O

$ CURL HAPROXY

Esegui il comando Curl alcune volte e vedrai la risposta alternando tra entrambi i server Web.

Invece di eseguire i comandi più volte, è anche possibile eseguire il seguente script a una riga per testare il server Haproxy:

$ mentre è vero; Curl 192.168.72.157; sonno 1; Fatto

Test del monitoraggio di Haproxy

Per accedere alla pagina di monitoraggio di Haproxy, digita http: // Seguito dall'indirizzo IP/nome host di Haproxy Server e Port 8080/STATS:

http: // 192.168.72.157: 8080/statistiche

O

http: // haproxy: 8080/stat

Apparirà la seguente casella di autenticazione. accedere il nome utente E parola d'ordine hai configurato in precedenza nelle configurazioni e quindi premere OK.

Questo è il rapporto statistico per il nostro server haproxy.

Lì hai l'installazione e la configurazione del bilanciamento del carico Haproxy sul sistema Linux. Abbiamo appena discusso dell'installazione e della configurazione di base di Haproxy come bilanciamento del carico per i server Web Apache. Abbiamo anche esaminato alcuni comandi per la gestione del server Haproxy. Alla fine, abbiamo testato il bilanciamento del carico attraverso il browser e il comando Curl. Per ulteriori informazioni, visitare la documentazione ufficiale di Haproxy