Ricerca nel sito web

Come installare HAProxy su Debian 11


Su questa pagina

  1. Prerequisiti
  2. Imposta i server Web di back-end
  3. Installa HAProxy
  4. Configura HAProxy
  5. Verifica HAProxy
  6. Conclusione

HAProxy è una soluzione gratuita, open source e affidabile per l'alta disponibilità e il bilanciamento del carico. Distribuisce il carico su più application server 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 poca memoria 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 Apache Backend server.
  • Una password di root è configurata su tutti i server.

Configura i server Web di back-end

Ai fini di questo tutorial, dovrai configurare due server Apache di backend.

Sul primo server back-end, installa il pacchetto Apache con il seguente comando:

apt-get install apache2 -y

Una volta installato Apache, crea una pagina indice Apache di esempio utilizzando il seguente comando:

echo "<H1>Welcome to the first Apache Server</H1>" | tee /var/www/html/index.html

Sul secondo server back-end, installa il pacchetto Apache con il seguente comando:

apt-get install apache2 -y

Successivamente, crea una pagina 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 abilitarlo per 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 di 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.

Successivamente, riavvia il servizio HAProxy per applicare le modifiche:

systemctl restart haproxy

Ora puoi controllare 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.

Verificare HAProxy

A questo punto, HAProxy è configurato e in esecuzione. Ora è il momento di testare HAProxy.

Apri il tuo browser web e digita l'URL http://your-haproxy-ip. Vedrai che HAProxy sta inviando 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à della tua applicazione web.