Il bilanciamento del carico è la pratica più comune di distribuire il traffico web in arrivo tra più server back-end. Questo rende l'applicazione altamente disponibile anche se alcuni dei server diminuiscono per qualche motivo. Il bilanciamento del carico aumenta l'efficienza e l'affidabilità di un'applicazione Web. Il bilanciatore del carico haproxy viene utilizzato per lo stesso scopo. È il bilanciatore del carico più utilizzato nei settori. Secondo il sito web ufficiale, Haproxy viene utilizzato da aziende leader come AWS, Fedora, GitHub e molte altre.
Il proxy haproxy o ad alta disponibilità fornisce una soluzione elevata e proxy. È scritto in C e funziona a livello di rete e applicazioni del modello TCP/IP. La cosa migliore è che ha un'edizione comunitaria gratuita ed è un'applicazione open source. Funziona su sistemi operativi Linux, FreeBSD e Solaris. Anche la Enterprise Edition è lì, ma ha un prezzo.
In questa guida, vedremo Come installare haproxy e configurare il server di bilanciamento del carico su Debian 10.
Prerequisiti:
Installazione di Haproxy su Debian 10
Per la nostra guida, assumeremo la seguente configurazione dell'indirizzo IP:
Passo 1. Aggiorna il repository e i pacchetti del sistema Debian
Innanzitutto, eseguire i comandi seguenti su tutti i sistemi per aggiornare i pacchetti software all'ultimo.
$ sudo apt update
$ sudo apt upgrade -y
Passaggio: 2 Installa Nginx sui server back-end
Prepara i server di back-end installando Nginx Web Server su ciascuno. Puoi anche scegliere di installare altri server Web come Apache.
Per installare Nginx, eseguire i seguenti comandi su ciascun server back-end nell'ambiente:
$ sudo apt install nginx
Passaggio: 3 dopo che Nginx è installato sui server back-end, avviare il servizio, come mostrato di seguito:
$ sudo systemctl avvia nginx
MANCIA: Possiamo anche gestire il server Web Nginx utilizzando il comando seguente:
$ sudo /etc /init.D/nginx "opzione"
Opzione: Avvia ricarica il riavvio dello stato di arresto
Passaggio: 4 Crea pagine indicizzate personalizzate nella cartella Web di ciascun server Web Nginx. Questo ci aiuterà a distinguere quale server back-end sta servendo le richieste in arrivo.
Su ogni server Web, eseguire le seguenti attività:
Eseguire il backup del file indice originale utilizzando il comando seguente:
$ sudo cp/usr/share/nginx/html/indice.html/usr/share/nginx/html/indice.html.orig
Aggiungi testo personalizzato all'indice.file html. Stiamo aggiungendo l'indirizzo IP di ogni server Web.
Per Web Server 1:
$ sudo echo "Web Server 1: 10.0.12.15 "| sudo tee/usr/share/nginx/html/indice.html
Per Web Server 2:
$ sudo echo "Web Server 2: 10.0.12.16 "| Sudo tee/usr/share/nginx/html/indice.html
Puoi anche usare l'editor VI se ti senti più a tuo agio con quello. Questo è mostrato di seguito:
$ sudo vi/usr/share/nginx/html/indice.html
Quando il file viene aperto, immettere il testo e salvare il file.
Apri il file host virtuale predefinito nella directory "/etc/nginx/sites-disponibile/".
$ sudo nano/etc/nginx/siti-disponibile/impostazione predefinita
Ora all'interno del blocco server, modifica la direttiva root da "/var/www/html" in "/usr/share/nginx/html".
Per controllare la configurazione Nginx, eseguire il comando seguente:
$ sudo nginx -t
Passaggio 5: ora riavviare il servizio utilizzando il comando:
$ sudo systemctl riavvio nginx
È possibile controllare lo stato di Nginx usando il seguente comando:
$ sudo systemctl status nginx
Passaggio: 6 Per installare Haproxy su Debian 10 (Buster), eseguire il seguente comando sul bilanciatore del carico.
$ sudo apt install haproxy -y
Mancia: Una volta installato Haproxy, è possibile gestire Haproxy tramite uno script init. Per questo, impostare il parametro "abilitato" su 1 in "/etc/default/haproxy" come mostrato di seguito:
$ sudo vi/etc/default/haproxy
Abilitato = 1
Ora la seguente opzione può essere utilizzata con uno script INIT:
$ sudo servizio haproxy "opzione."
Opzione: Avvia ricarica il riavvio dello stato di arresto
Passaggio: 7 Ora configurare il bilanciatore del carico haproxy modificando il file di configurazione predefinito di Haproxy, i.e. “/Etc/haproxy/haproxy.CFG ". Per modificare questo file, eseguire il seguente comando
$ sudo vi/etc/haproxy/haproxy.cfg
Mancia: Ti preghiamo di eseguire il backup del file originale in modo che nel caso in cui qualcosa vada storto, saremo tutti al sicuro. Per eseguire il backup, utilizzare il seguente comando:
$ sudo cp/etc/haproxy/haproxy.CFG/ETC/HAPROXY/HAPROXY.cfg.orig
Ora vai alla fine del file e modifica le seguenti informazioni:
frontend local_server
Bind 10.0.12.10:80
Modalità http
Server Web Default_backend
Webserver backend
Modalità http
Equilibra la roundrobin
opzione in avanti
Http-Request Set-Header X-Forwarded-Port %[DST_PORT]
Http-Request Add-Header X-Forwarded-Proto https se ssl_fc
Opzione HTTPCHK Head / HTTP / 1.1rnhost: localhost
Server Web1 10.0.12.15:80
Server Web2 10.0.12.16:80
Nota: Non dimenticare di modificare gli indirizzi IP nel file sopra in quello che hai aggiunto ai tuoi server web.
Passaggio: 8 Verificare la sintassi di configurazione del file sopra con il comando seguente:
$ sudo haproxy -c -f/etc/haproxy/haproxy.cfg
Se tutto va bene, mostrerà un output come: “Il file di configurazione è valido."Se ricevi qualche errore nell'output, ricontrollare il file di configurazione e verificarlo di nuovo.
Passaggio: 9 Ora riavvia il servizio Haproxy per applicare le modifiche
$ sudo servizio haproxy riavvio
Testare la configurazione
Ora è il momento di vedere se la nostra configurazione funziona correttamente. Immettere IP del sistema di bilanciamento del carico su un browser Web (nel nostro caso, è 10.0.12.10) e aggiorna la pagina continuamente per 2-4 volte per vedere se il bilanciamento del carico haproxy funziona correttamente. Dovresti vedere diversi indirizzi IP o qualunque testo tu abbia inserito nell'indice.file html quando si continua ad aggiornare la pagina più volte.
Un altro modo per verificare è quello di ottenere un server Web offline e verificare se un altro server Web sta servendo le richieste.
È tutto per ora! Prova a sperimentare con Haproxy per saperne di più su come funziona. Prua, testa.G., Puoi provare:
Haproxy ha una vasta documentazione disponibile sia per la versione di Haproxy Community Edition sia per la versione di Haproxy Enterprise. Esplora questa documentazione per ottenere ulteriori approfondimenti per migliorare le prestazioni e l'affidabilità del tuo ambiente server.
Questa guida è stata eseguita con successo su Debian 10 (Buster). Prova a installare Haproxy su altre distro basate su Debian come Ubuntu, Linux Mint ecc. Si prega di non dimenticare di condividere questa guida con gli altri.