Ubuntu

Come installare e configurare HAproxy su Ubuntu 20.04 LTS

Come installare e configurare HAproxy su Ubuntu 20.04 LTS
HAproxy è un pacchetto open source e leggero che offre alta disponibilità e bilanciamento del carico per programmi basati su TCP e HTTP. Distribuisce il carico tra i server web e applicativi. HAproxy è disponibile per quasi tutte le distribuzioni Linux. È un sistema di bilanciamento del carico ampiamente utilizzato che è popolare per la sua efficienza, affidabilità e memoria ridotta e ingombro della CPU. In questo post spiegheremo come installare e configurare HAproxy su un sistema Ubuntu.

Abbiamo installato tre macchine. Installeremo HAproxy su un server e i server Web Apache su due server. Il nostro server HAproxy agirà quindi come bilanciatore del carico e distribuirà il carico tra i server Web Apache.

Nota: La procedura e i comandi menzionati in questo post sono stati testati su Ubuntu 20.04 LTS (Focale Fossa). 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 (Server di front-end)
Nome host: server web1, indirizzo IP: 192.168.72.158 (server di backend)
Nome host: server web2, indirizzo IP: 192.168.72.159 (server di backend)

Nota: Devi avere i privilegi sudo su tutti i server.

Configurare una macchina come bilanciatore del carico e le altre due come server web. Il server HAproxy sarà il nostro server front-end che riceverà le richieste degli utenti e le inoltrerà ai due server web. I server web saranno i nostri server di backend che riceveranno le richieste inoltrate.

Ecco come appare la nostra configurazione:

Configurazione di server Web-Server di backend

In questa sezione, configureremo due server web (web-server1 e web-server2) come nostri server di backend.

Sul server web1(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 tuoi server web.

1. Configura file host hosts

Sopra web-server1, modifica il /etc/host file:

$ sudo nano /etc/hosts

Quindi aggiungi la voce hostname per HAproxy server come segue:

nome-host-di-HAproxy Indirizzo-IP-di-HAproxy

Nel nostro scenario, sarebbe:

HAproxy 192.168.72.157

2. Configura il server web Apache

Ora installa il server web Apache usando il comando seguente in Terminale. Puoi anche visitare il nostro post su Come installare il server web Apache su Linux.

$ sudo apt install apache2

Quindi abilita e avvia il servizio Apache usando i seguenti comandi in Terminale:

$ sudo systemctl abilita apache2
$ sudo systemctl start apache2

Crea un file indice per web-server1 usando il comando seguente in Terminale:

$ eco "

Ciao! Questo è il server web1: 192.168.72.158

" | sudo tee /var/www/html/index.html

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

$ sudo ufw allow 80/tcp

Quindi ricaricare le configurazioni del firewall:

$ ufw ricarica

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

http:// nome-host-o-indirizzo-IP

In alternativa, puoi anche usare il comando curl per testare la pagina web.

$ curl

Sul server web-2 192.168.72.159)

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

1. Configura file host hosts

Nel web-server2, modifica il /etc/host file:

$ sudo nano /etc/hosts

Quindi aggiungi la voce hostname per HAproxy server come segue:

HAproxy 192.168.72.157

2. Installa il server web Apache

Ora installa il server Web Apache utilizzando il comando seguente in Terminale.

$ sudo apt install apache2

Quindi abilita e avvia il servizio Apache utilizzando i seguenti comandi in Terminale:

$ sudo systemctl abilita apache2
$ sudo systemctl start apache2

Crea un file indice per web-server2 usando il comando seguente in Terminale:

$ eco "

Ciao! Questo è webserver2: 192.168.72.159

" | sudo tee /var/www/html/index.html

Consenti Apache nel firewall:

$ sudo ufw allow 80/tcp

e quindi ricaricare le configurazioni del firewall:

$ ufw ricarica

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

http:// nome-host-o-indirizzo-IP

In alternativa, puoi usare il comando curl per testare la pagina web.

$ curl

Ora i nostri server web Apache sono pronti.

Configurazione di HAproxy load balancer-server Frontend

In questa sezione, configureremo un bilanciatore del carico HAproxy per il nostro server web. Questo server HAproxy fungerà da server frontend e accetta le richieste in entrata dai client.

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

1. Configura file host hosts

Modifica il /etc/host file utilizzando il comando seguente in Terminale:

$ sudo nano /etc/hosts

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

192.168.72.157 HAproxy
192.168.72.158 server web1
192.168.72.159 server web2

Ora salva e chiudi il /etc/host file.

Installazione del bilanciamento del carico HAproxy

Ora, in questo passaggio, installeremo HAproxy su uno dei nostri server Ubuntu (192.168.72.157). Per fare ciò, aggiorna apt usando il seguente comando in Terminale:

$ sudo apt-get update

Quindi aggiorna i pacchetti usando il comando seguente:

$ sudo apt-get upgrade

Ora installa HAproxy usando il seguente comando in Terminale:

$ sudo sudo apt install haproxy

Una volta terminata l'installazione del server HAproxy, puoi confermarla utilizzando il comando seguente in Terminale:

$ haproxy -v

Ti mostrerà la versione installata di HAproxy sul tuo sistema che verifica che HAproxy sia stato installato con successo.

Configurazione di HAproxy come bilanciatore del carico

Nella sezione seguente, configureremo HAproxy come bilanciatore del carico. Fare così, modifica /etc/haproxy/haproxy.cfg file:

$ sudo nano /etc/haproxy/haproxy.cfg

Aggiungi le seguenti righe nell'haproxy.cfg sostituendo gli indirizzi IP con i tuoi indirizzi IP.

Il frontend frontend web nelle righe di configurazione di cui sopra dice a HAproxy di ascoltare le richieste in arrivo sulla porta 80 di 192.168.72.157 e poi inoltrarli ai server di backend configurati sotto il backend backend web. Durante la configurazione, sostituisci gli indirizzi IP con i relativi indirizzi IP dei tuoi server web.

Configurazione del monitoraggio HAproxy

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

ascolta le statistiche
legare 192.168.72.157:8080
modalità http
opzione avantiper
opzione httpclose
abilitazione statistiche
statistiche mostra leggende
le statistiche si aggiornano 5s
stats uri /stats
stats regno Haproxy\ Statistiche
stats auth kbuzdar:kbuzdar            #Login Utente e Password per il monitoraggio
stats admin se TRUE
default_backend web-backend

La configurazione sopra abilita l'HAproxy †statistiche" pagina utilizzando il statistiche direttiva e la protegge con http autenticazione di base utilizzando il nome utente e la password definiti dal autenticazione statistiche direttiva.

Una volta che hai finito con le configurazioni, salva e chiudi il aproxy.cfg file.

Ora verifica il file di configurazione usando il comando seguente in Terminale:

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

Il seguente output mostra che le configurazioni sono corrette.

Ora per applicare le configurazioni, riavvia il servizio HAproxy:

$ sudo systemctl riavvia haproxy.servizio

Si fermerà e quindi avvierà 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 e funziona correttamente.

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 stop haproxy.servizio

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

$ sudo systemctl disabilita haproxy.servizio

Per riabilitare il server HAproxy, il comando sarebbe:

$ sudo systemctl abilita haproxy.servizio

Prova HAproxy

Prima di testare la configurazione di HAproxy, assicurati di avere connettività ai server web web. Dal tuo server HAproxy, esegui il ping di entrambi i server Web tramite i loro indirizzi IP o nomi host.

$ ping nomehost-o-indirizzo-ip

Il seguente output mostra che il server HAproxy può raggiungere entrambi i server web.

Testare il proxy HA 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à alternativamente la richiesta a entrambi i server Web in un metodo round-robin. Puoi verificarlo ricaricando la pagina web alcune volte.

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

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

Puoi anche usare il nome host al posto dell'indirizzo IP del server HAproxy.

Testare il proxy HA utilizzando curl

Puoi anche usare il comando curl in Linux per testare la configurazione di HAproxy. Apri il terminale e digita arricciare seguito dall'indirizzo IP o dal nome host del server HAproxy.

$ ricciolo 192.168.72.157

o

$ curl HAproxy

Esegui il comando curl alcune volte e vedrai la risposta alternarsi tra entrambi i server web.

Invece di eseguire i comandi più volte, puoi anche eseguire il seguente script di una riga per testare il server HAproxy:

$ mentre vero; arricciare 192.168.72.157; dormire 1; fatto

Test del monitoraggio HAproxy

Per accedere alla pagina di monitoraggio HAproxy, digitare http:// seguito dall'indirizzo IP/nome host del server HAproxy e dalla porta 8080/stats:

http://192.168.72.157:8080/statistiche

o

http://HAproxy:8080/stats

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 delle statistiche per il nostro server HAproxy.

Lì hai l'installazione e la configurazione di HAproxy load balancer sul sistema Linux. Abbiamo appena discusso l'impostazione e la configurazione di base di HAproxy come bilanciatore 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 tramite il browser e il comando curl. Per ulteriori informazioni, visitare la documentazione ufficiale di HAproxy

I migliori giochi di laboratorio dell'app Oculus
Se possiedi un visore Oculus, devi essere informato sul sideloading. Il sideloading è il processo di installazione di contenuti non archiviati sul vis...
I 10 migliori giochi da giocare su Ubuntu
La piattaforma Windows è stata una delle piattaforme dominanti per i giochi a causa dell'enorme percentuale di giochi che si stanno sviluppando oggi p...
I 5 migliori giochi arcade per Linux
Al giorno d'oggi, i computer sono macchine serie utilizzate per i giochi. Se non riesci a ottenere il nuovo punteggio più alto, saprai cosa intendo. I...