Installa haproxy per configurare il server di bilanciamento del carico sulla top 10 di Debian

Installa haproxy per configurare il server di bilanciamento del carico sulla top 10 di Debian

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:

  1. Accesso "sudo" a tutte le macchine e la conoscenza di base dell'esecuzione dei comandi in Linux Terminal.
  2. Indirizzi IP privati ​​aggiunti al bilanciatore del carico e ai server back-end.
  3. Debian 10 Sistema operativo installato su tutte le macchine.

Installazione di Haproxy su Debian 10

Per la nostra guida, assumeremo la seguente configurazione dell'indirizzo IP:

  1. Haproxy Load Balancer 10.0.12.10
  2. Web Server1: Indirizzo IP: 10.0.12.15
  3. Web Server2: Indirizzo IP: 10.0.12.16

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:

  • Integrazione di diversi server Web accanto a Nginx.
  • Cambiare l'algoritmo di bilanciamento del carico in qualcosa di diverso da round-robin.
  • Configurazione del controllo della salute di Haproxy per determinare se un server back-end funziona o meno.
  • Applicare sessioni appiccicose per collegare un utente allo stesso server back-end.
  • Utilizzo delle statistiche di Haproxy per ottenere approfondimenti sul traffico sui server.

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.