GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare e configurare HAproxy su Ubuntu 20.04 LTS

HAproxy è un pacchetto open source leggero che fornisce alta disponibilità e bilanciamento del carico per programmi basati su TCP e HTTP. Bilancia il carico tra il Web e i server delle applicazioni. HAproxy è disponibile per quasi tutte le distribuzioni Linux. È un sistema di bilanciamento del carico ampiamente utilizzato, popolare per la sua efficienza, affidabilità e ingombro ridotto di memoria e CPU. In questo post spieghiamo 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 funge quindi da bilanciamento del carico e distribuisce il carico sui server Web Apache.

Nota: La procedura e i comandi citati in questo post sono stati testati su Ubuntu 20.04 LTS (Focal Fossa). La stessa procedura si applica anche alle distribuzioni Debian e Mint.

Dettagli rete

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

Nome host:HAproxy, indirizzo IP:192.168.72.157 (server frontend)
Nome host:Webserver1, indirizzo IP:192.168.72.158 (server backend)
Nome host:Webserver2, indirizzo IP:192.168.72.159 (server backend)

Nota: Devi disporre dei privilegi sudo su tutti i server.

Configurare un computer come un sistema di bilanciamento del carico e gli altri due come server web. Il server HAproxy sarà il nostro server front-end, che prende le richieste degli utenti e le inoltra ai due server web. I server web sono i nostri server back-end che ricevono queste richieste inoltrate.

La nostra configurazione si presenta così:

Configura i server back-end dei server Web

In questa sezione configureremo due web server (Webserver1 e Server web2 ) come i nostri server back-end.

Sul server web1(192.168.72.158)

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

1. Configura file host

Su Webserver1, Modifica /etc/hosts File:

$ sudo nano /etc/hosts

Quindi aggiungi la voce del nome host per . aggiungi 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 seguente comando nel terminale. Visita anche il nostro post su Come installare Apache Web Server su Linux.

$ sudo adatto Installa Apache2

Quindi abilita e avvia il servizio Apache utilizzando i seguenti comandi nel terminale:

$ sudo systemctl attiva apache2
$ sudo systemctl avvia apache2

Crea un file di indice per Webserver1 Utilizzare il seguente comando nel terminale:

$eco”

Ciao! Questo è il server web1:192.168.72.158

“ | sudo tee /wo/www/html/index.html

Se hai un firewall in esecuzione sul tuo sistema, devi consentire il passaggio del traffico Apache:

$ sudo ufw consente 80/tcp

Quindi ricarica le configurazioni del firewall:

Ricarica $ufw

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

https:// nome host o indirizzo IP

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

$lock

Sul server web-2 192.168.72.159)

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

1. Configura file host

In Server web2 , modifica /etc/hosts File:

$ sudo nano /etc/hosts

Quindi aggiungi la voce del nome host per . aggiungi HAproxy Server come segue:

HAproxy 192.168.72.157

2. Installa il server web Apache

Ora installa il server web Apache usando il seguente comando nel terminale.

$ sudo adatto Installa Apache2

Quindi abilita e avvia il servizio Apache utilizzando i seguenti comandi nel terminale:

$ sudo systemctl attiva apache2
$ sudo systemctl avvia apache2

Crea un file di indice per Webserver2 utilizzando il seguente comando in Terminale:

$eco”

Ciao! Questo è il server web2:192.168.72.159

“ | sudo tee /wo/www/html/index.html

Consenti Apache nel firewall:

$ sudo ufw consente 80/tcp

e quindi ricaricare le configurazioni del firewall:

Ricarica $ufw

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

https:// nome host o indirizzo IP

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

$lock

Ora i nostri web server Apache sono pronti.

Configura il server frontend di HAproxy Load Balancer

In questa sezione, configuriamo un sistema di bilanciamento del carico HAproxy per i nostri server web . Questo server HAproxy funge da server frontend e accetta le richieste in arrivo dai client.

Su HAproxy Server (192.168.72.157 ), segui i passaggi seguenti per configurare il servizio di bilanciamento del carico.

1. Configura file host

Modifica /etc/hosts file con il seguente comando nel terminale:

$ sudo nano /etc/hosts

Aggiungi le seguenti voci di nome 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 /etc/hosts file.

Installa HAproxy Load Balancer

In questo passaggio installeremo ora HAproxy su uno dei nostri server Ubuntu (192.168.72.157). Per fare ciò, aggiorna apt con il seguente comando nel terminale:

$ sudo apt-get update

Quindi aggiorna i pacchetti con il seguente comando:

$ sudo apt-get aggiornamento

Ora installa HAproxy con il seguente comando nel terminale:

$ sudo sudo adatto install felice

Una volta completata l'installazione del server HAproxy, puoi confermarla con il seguente comando nel terminale:

$ felice -v

Ti mostrerà la versione installata di HAproxy sul tuo sistema, confermando che HAproxy è stato installato correttamente.

Configura HAproxy come sistema di bilanciamento del carico

Nella sezione seguente, configuriamo HAproxy come sistema di bilanciamento del carico. Per fare ciò,Modifica il file /etc/haproxy/haproxy.cfg File:

$ sudo nano >etc/happy/haproxy.cfg

Aggiungi le seguenti righe al file haproxy.cfg, sostituendo gli indirizzi IP con i tuoi indirizzi IP.

?Il frontend Web Frontend nelle righe di configurazione precedenti, HAproxy è incaricato di ascoltare le richieste in arrivo sulla porta 80 da 192.168.72.157 e quindi inoltrarli ai server di back-end in esecuzione con . sono configurati come backend Backend web . Durante la configurazione, sostituisci gli indirizzi IP con i corrispondenti indirizzi IP dei tuoi server web.

Configura il 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à di sessione, ecc. Per configurare il monitoraggio HAproxy, aggiungi le seguenti righe al file di configurazione in /etc/haproxy/haproxy.cfg :

ascolta le statistiche
bind 192.168.72.157:8080
modalità http
opzione forwardfor
opzione httpclose
abilita statistiche
statistiche mostra legende
aggiornamento statistiche 5s
stats /stats
stats realm haproxy stats
stats auth kbuzdar:kbuzdar #login utente e password per il monitoraggio
stats admin se VERO
default_backend web backend

La configurazione sopra abilita HAproxy "Statistiche “ Pagina Statistiche politica e proteggila con http Autenticazione di base con nome utente e password ottenuti da Autenticazione statistica Politica.

Al termine delle configurazioni, salva e chiudi il file haproxy.cfg.

Ora controlla il file di configurazione usando il seguente comando nel terminale:

$ felice -C -F /etc/happy/haproxy.cfg

Il seguente output mostra che le configurazioni sono corrette.

Ora per applicare le configurazioni, riavvia il servizio HAproxy:

$ sudo systemctl riavvia haproxy.service

Si interrompe e quindi avvia il servizio HAproxy.

Per verificare lo stato del servizio HAproxy, il comando è:

$ sudo systemctl-status haproxy.service

Il attivo (in corso) lo stato nell'output seguente indica che il server HAproxy è abilitato e funziona correttamente.

Ecco alcuni altri comandi per gestire il server HAproxy:

Per avviare il server HAproxy, il comando è:

$ sudo systemctl avvia haproxy.service

Per arrestare il server HAproxy, il comando è:

$ sudo systemctl ferma haproxy.service

Se vuoi disabilitare temporaneamente il server HAproxy, il comando è:

$ sudo systemctl disabilita haproxy.service

Per riattivare il server HAproxy, il comando è:

$ sudo systemctl abilita haproxy.service

Test HAproxy

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

$ nome host o indirizzo IP dell'anello

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

Testare il proxy HA con un browser web

Ora apri qualsiasi browser web sul tuo server HAproxy e digita https:// seguito dall'indirizzo IP del server HAproxy, che nel nostro caso è 192.168.72.157.

https://192.168.72.157

Il server HAproxy invia in alternativa la richiesta ad entrambi i server web in una procedura round-robin. Puoi verificarlo ricaricando la pagina web alcune volte.

Questa è la risposta che abbiamo ricevuto quando abbiamo visto per la prima volta https://192.168.72.157:

Questa è la risposta che abbiamo ottenuto ricaricando la pagina web:

Puoi anche utilizzare il nome host invece dell'indirizzo IP del server HAproxy.

Testare il proxy HA con curl

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

$ riccioli 192.168.72.157

o

$ ricciolo HAproxy

Esegui il comando curl alcune volte e vedrai la risposta alternarsi tra i due 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, digita https:// seguito da indirizzo IP/nome host del server HAproxy e porta 8080/stats:

https://192.168.72.157:8080/Statistiche

o

https://HA-Proxy:8080/Statistiche

Apparirà la seguente casella di autenticazione. Inserisci il nome utente e password precedentemente configurato nelle configurazioni, quindi premere OK .

Questo è il rapporto statistico per il nostro server HAproxy.

Lì hai l'installazione e la configurazione di HAproxy Load Balancer sul sistema Linux. Abbiamo appena discusso la configurazione di base e la configurazione di HAproxy come bilanciatore di carico per i server Web Apache. Abbiamo anche esaminato alcuni comandi per gestire il server HAproxy. Alla fine, abbiamo testato il bilanciamento del carico tramite il browser e il comando curl. Per ulteriori informazioni, vedere la documentazione ufficiale di HAproxy


Debian
  1. Come installare PHP 7.3 su Debian 9

  2. Come installare Node.js su Debian 11

  3. Velocizza Apache con mod_pagespeed e Memcached su Debian 8

  4. Come installare Nginx con PHP + MySQL (LEMP) su Debian 9

  5. Connettiti al Wi-Fi dal terminale su Debian 11/10 con WPA Supplicant

Come installare lo strumento di monitoraggio del sistema Prometheus su Ubuntu 20.04

Installare Servizi di dominio Active Directory su Windows Server 2008 R2 Enterprise a 64 bit

Come creare script di shell

Come installare le aggiunte di Virtualbox Guest sul sistema operativo elementare 0.2 Luna

Il server perfetto - Debian Squeeze (Debian 6.0) con BIND e Dovecot [ISPConfig 3]

Come installare il server NextCloud su Rocky Linux 8