Ricerca nel sito web

Come installare e configurare HAProxy su Ubuntu 22.04


Su questa pagina

  1. Prerequisiti
  2. Imposta i server Web Apache come server di backend
  3. Installa HAProxy
  4. Configura HAProxy
  5. Prova HAProxy
  6. Conclusione

HAProxy è anche l'acronimo di High Availability Proxy ed è una soluzione di bilanciamento del carico e proxy open source gratuita progettata per semplificare e proteggere le moderne architetture applicative. Consente a un server Web di distribuire le richieste in arrivo su più endpoint. È molto utile quando troppe connessioni simultanee saturano eccessivamente la capacità di un singolo server. Sta guadagnando popolarità grazie alla sua efficienza, affidabilità e poca memoria e ingombro della CPU.

In questo post spiegheremo come installare HAProxy su Ubuntu 22.04. div-gpt-ad-howtoforge_com-medrectangle-3-0;var ffid=1;var alS=1021%1000;var container=document.getElementById(slotId);container.style.width=100%;var ins=document. createElement(ins);ins.id=slotId+-asloaded;ins.className=adsbygoogle ezasloaded;ins.dataset.adClient=pid;ins.dataset.adChannel=cid;if(ffid==2){ins.dataset.fullWidthResponsive= VERO;}

Prerequisiti

  • Un server che esegue Ubuntu 22.04 per HAProxy.
  • Due server che eseguono Ubuntu 22.04 per il server Apache Backend.
  • Una password di root è configurata su tutti i server.

Configura i server Web Apache come server back-end

Innanzitutto, dovrai configurare due server Web Apache come server di back-end per eseguire il tutorial.

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

apt-get install apache2 -y

Dopo l'installazione, crea una pagina indice Apache di esempio utilizzando il seguente comando:

echo "<H1>Success! This is my 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>Success! This is my second Apache Server</H1>" | tee /var/www/html/index.html

Al termine, puoi procedere con l'installazione del server HAProxy.

Installa HAProxy

Per impostazione predefinita, HAProxy è incluso nel repository predefinito di Ubuntu 22.04. 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 alla configurazione di HAProxy.

Configura HAProxy

A questo punto, HAProxy è installato e in esecuzione. Ora sarà necessario modificare il file di configurazione predefinito HAProxy e definire i server web back-end.

nano /etc/haproxy/haproxy.cfg

Aggiungi entrambi i tuoi server Apache back-end:

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 172.16.0.200:80 check
        server             backend02 172.16.0.201:80 check

Salva e chiudi il file quando hai finito.

Dove: 172.16.0.200 è l'indirizzo IP del primo server backend Apache e 172.16.0.201 è 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 Mon 2022-07-11 09:03:45 UTC; 45s ago
       Docs: man:haproxy(1)
             file:/usr/share/doc/haproxy/configuration.txt.gz
   Main PID: 48217 (haproxy)
      Tasks: 2 (limit: 2242)
     Memory: 71.3M
        CPU: 143ms
     CGroup: /system.slice/haproxy.service
             ??48217 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock
             ??48219 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock

Jul 11 09:03:45 ubuntu2204 systemd[1]: Starting HAProxy Load Balancer...
Jul 11 09:03:45 ubuntu2204 haproxy[48217]: [NOTICE]   (48217) : New worker #1 (48219) forked
Jul 11 09:03:45 ubuntu2204 systemd[1]: Started HAProxy Load Balancer.

Prova HAProxy

A questo punto, HAProxy è configurato e in esecuzione. Ora è il momento di verificare se HAProxy funziona o meno.

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

In questo post, ti abbiamo mostrato come installare e configurare il server HAProxy per distribuire il carico su due server web Apache. su Ubuntu 22.04. Ora puoi implementare HAProxy nell'ambiente di produzione per aumentare le prestazioni e la disponibilità della tua applicazione web.