HAProxy è una soluzione gratuita, open source e affidabile per l'elevata disponibilità e il bilanciamento del carico. Distribuisce il carico su più server delle applicazioni e semplifica le attività di elaborazione delle richieste. Può essere installato su tutti i principali sistemi operativi Linux. È popolare per la sua efficienza, affidabilità e memoria ridotta e ingombro della CPU.
In questo post, spiegheremo come installare HAProxy su un sistema Debian 11.
Prerequisiti
- Un server che esegue Debian 11 per HAProxy.
- Due server che eseguono Debian 11 per server Apache Backend.
- Su tutti i server è configurata una password di root.
Impostazione di server Web di backend
Ai fini di questo tutorial, dovrai configurare due server Apache back-end.
Sul primo server backend, installa il pacchetto Apache con il seguente comando:
apt-get install apache2 -y
Una volta installato Apache, crea una pagina di indice Apache di esempio utilizzando il comando seguente:
echo "<H1>Welcome to the first Apache Server</H1>" | tee /var/www/html/index.html
Sul secondo server di backend, installa il pacchetto Apache con il seguente comando:
apt-get install apache2 -y
Quindi, crea una pagina di indice Apache di esempio utilizzando il seguente comando:
echo "<H1>Welcome to the second Apache Server</H1>" | tee /var/www/html/index.html
Una volta terminato, puoi procedere al passaggio successivo.
Installa HAProxy
Per impostazione predefinita, HAProxy è incluso nel repository predefinito di Debian 11. Puoi installarlo eseguendo il seguente comando:
apt-get install haproxy -y
Una volta installato HAProxy, avviare il servizio HAProxy e consentirne l'avvio al riavvio del sistema:
systemctl start haproxy
systemctl enable haproxy
Una volta terminato, puoi procedere al passaggio successivo.
Configura HAProxy
Successivamente, sarà necessario modificare il file di configurazione predefinito HAProxy e definire i server Web back-end.
nano /etc/haproxy/haproxy.cfg
Aggiungi le seguenti righe:
frontend apache_front # Frontend listen port - 80 bind *:80 # Set the default backend default_backend apache_backend_servers # Enable send X-Forwarded-For header option forwardfor # Define backend backend apache_backend_servers # Use roundrobin to balance traffic balance roundrobin # Define the backend servers server backend01 192.168.1.10:80 check server backend02 192.168.1.11:80 check
Salva e chiudi il file quando hai finito.
Dove :192.168.1.10 è l'indirizzo IP del primo server backend Apache e 192.168.1.11 è l'indirizzo IP del secondo server backend Apache.
Quindi, riavvia il servizio HAProxy per applicare le modifiche:
systemctl restart haproxy
È ora possibile verificare lo stato di HAProxy con il seguente comando:
systemctl status haproxy
Otterrai il seguente output:
? haproxy.service - HAProxy Load Balancer Loaded: loaded (/lib/systemd/system/haproxy.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2021-11-07 03:47:14 UTC; 9s ago Docs: man:haproxy(1) file:/usr/share/doc/haproxy/configuration.txt.gz Process: 86678 ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q $EXTRAOPTS (code=exited, status=0/SUCCESS) Main PID: 86680 (haproxy) Tasks: 3 (limit: 4679) Memory: 34.2M CPU: 61ms CGroup: /system.slice/haproxy.service ??86680 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock ??86682 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock Nov 07 03:47:14 debian11 systemd[1]: Starting HAProxy Load Balancer... Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_front started. Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_front started. Nov 07 03:47:14 debian11 systemd[1]: Started HAProxy Load Balancer. Nov 07 03:47:14 debian11 haproxy[86680]: [NOTICE] 310/034714 (86680) : New worker #1 (86682) forked Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_backend_servers started. Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_backend_servers started.
Verifica HAProxy
A questo punto HAProxy è configurato ed è in esecuzione. Ora è il momento di testare HAProxy.
Apri il tuo browser web e digita l'URL http://your-haproxy-ip . Vedrai che HAProxy invia le richieste ai server back-end una per una dopo ogni aggiornamento.
Conclusione
Congratulazioni! hai installato correttamente HAProxy su Debian 11. Ora puoi implementare HAProxy nell'ambiente di produzione per aumentare le prestazioni e la disponibilità delle tue applicazioni web.