GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare e configurare HAProxy su CentOS 8 / RHEL 8

HAProxy sta per High Availability Proxy, è uno strumento di bilanciamento del carico gratuito e open source che consente di bilanciare il traffico in entrata (TCP e basato su HTTP ) distribuendo tra i server di back-end utilizzando criteri diversi.

In altre parole, possiamo dire che HAProxy viene utilizzato per fornire tolleranza agli errori e disponibilità elevata nel caso in cui un nodo riceva troppe richieste simultanee. È utilizzato dai siti Web più famosi come GitHub, Stack Overflow e Tumbler.

In questo articolo, discuteremo come installare e configurare HAProxy su CentOS 8/RHEL 8 per server Web Nginx. Di seguito sono riportati i dettagli per la configurazione del mio laboratorio haproxy,

  • Server HAProxy – 192.168.1.10 (haproxy-centos8)
  • Server Nginx 1 – 192.168.1.11 (nginx-node01)
  • Server Nginx 2 – 192.168.1.12 (nginx-node01)

Passiamo ai passaggi di installazione e configurazione di HAProxy su CentOS 8 / RHEL 8

Fase:1) Aggiorna il file /etc/hosts del tuo server HAProxy

Accedi al tuo sistema CentOS 8 o RHEL 8 dove installerai haproxy, aggiungi le seguenti righe nel file /etc/hosts,

192.168.1.10    haproxy-centos8
192.168.1.11    nginx-node01
192.168.1.12    nginx-node02

Dopo aver aggiornato il file hosts, assicurati di essere in grado di eseguire il ping dei nodi Nginx,

Passaggio:2) Installa e configura HAProxy su CentOS 8 / RHEL 8

Il pacchetto Haproxy è disponibile nei repository di pacchetti predefiniti di CentOS 8 e RHEL 8, quindi può essere facilmente installato con il comando dnf. Ma si consiglia di aggiornare il sistema prima di installare haproxy. Quindi esegui il seguente comando,

[email protected] ~]# dnf update -y
[email protected] ~]# reboot

Ora usa il seguente comando dnf per installare haproxy,

[[email protected] ~]# dnf install haproxy

Una volta che haproxy è stato installato correttamente, configuralo modificando il suo file di configurazione “/etc/haproxy/haproxy.cfg “.

Prima di modificare il file, è sempre buona norma fare un backup del file originale, eseguire il comando seguente,

[[email protected] ~]# cd /etc/haproxy/
[[email protected] haproxy]# cp haproxy.cfg haproxy.cfg-org
[[email protected] haproxy]#

Nel file di configurazione, modificheremo due sezioni frontend e backend . Nella sezione Frontend definiamo l'IP haproxy e la sua porta, l'uri delle statistiche e il nome del backend. Nella sezione Backend definiamo il tipo di algoritmo di bilanciamento del carico che useremo come round robin e connessione minima ecc. e il nome, gli IP e la porta del server di backend, l'esempio è mostrato di seguito,

[[email protected] haproxy]# vi haproxy.cfg
…………………
frontend http_balancer
    bind 192.168.1.10:80
    option http-server-close
    option forwardfor
    stats uri /haproxy?stats

#    acl url_static       path_beg       -i /static /images /javascript /stylesheets
#    acl url_static       path_end       -i .jpg .gif .png .css .js
#    use_backend static          if url_static
    default_backend     nginx_webservers

backend nginx_webservers
    mode        http
    balance     roundrobin
    option httpchk HEAD / HTTP/1.1\r\nHost:\ localhost    
    server  nginx-node01  192.168.1.11:80  check
    server  nginx-node02  192.168.1.12:80  check
 ………………………………

Salva ed esci dal file

Configura rsyslog in modo che memorizzi tutte le statistiche HAProxy, modifica il file di configurazione rsyslog “/etc/rsyslog.conf ” e decommenta la riga 19 e 20,

[[email protected] ~]# vi /etc/rsyslog.conf
……
module(load="imudp")
input(type="imudp" port="514")
……

Salva ed esci dal file.

Ora crea il file haproxy.conf per rsyslog , incolla le seguenti righe,

[[email protected] ~]# vi /etc/rsyslog.d/haproxy.conf
local2.=info     /var/log/haproxy-access.log
local2.notice    /var/log/haproxy-info.log

salva ed esci dal file

Riavvia e abilita il servizio rsyslog in modo che sia disponibile durante i riavvii

[[email protected] ~]# systemctl restart rsyslog
[[email protected] ~]# systemctl enable rsyslog

Ora finalmente avvia haproxy ma prima di avviare il servizio haproxy, imposta la seguente regola selinux,

[[email protected] ~]# setsebool -P haproxy_connect_any 1

Avvia e abilita haproxy usando sotto i comandi systemctl

[[email protected] ~]# systemctl start haproxy
[[email protected] ~]# systemctl enable haproxy

Consenti la porta haproxy (nel nostro caso è 80) nel firewall del sistema operativo, esegui il comando firewall-cmd sottostante,

[[email protected] ~]# firewall-cmd --permanent --add-port=80/tcp
[[email protected] ~]# firewall-cmd --reload

Fino ad ora la parte di installazione e configurazione di HAProxy è completata, passiamo ai nodi Nginx,

Passaggio:3) Installa NGINX e avvia il suo servizio

Accedi a entrambi i nodi nginx, installa nginx e avvia il suo servizio utilizzando i seguenti comandi.

# dnf install nginx -y
# systemctl start nginx
# systemctl enable nginx

Modifichiamo il file index.html del rispettivo nodo,

Per nginx-node01

[[email protected] ~]# cd /usr/share/nginx/html
[[email protected] html]# echo "Nginx Node01 - Welcome to First Nginx Web Server" > index.html

Per nginx-node02

[[email protected] ~]# cd /usr/share/nginx/html
[[email protected] html]# echo "Nginx Node02 - Welcome to 2nd Nginx Web Server" > index.html

Consenti la porta Nginx (80) nel firewall del sistema operativo in entrambi i nodi utilizzando il comando seguente,

# firewall-cmd --permanent --add-service=http
# firewall-cmd --reload

Fase:4) Verifica se HAProxy funziona correttamente o meno

Accedi al server haproxy ed esegui il comando curl un paio di volte per vedere se il traffico è distribuito in modo round robin

[[email protected] ~]# curl 192.168.1.10

Perfetto, questo conferma che haproxy funziona correttamente poiché sta distribuendo il traffico tra due nodi,

Verifichiamo anche dal browser Web,

Sopra conferma che HAProxy è stato configurato correttamente su CentOS 8 e RHEL 8.

Puoi visualizzare lo stato del tuo haproxy tramite browser web, digita url:http:///haproxy?stats

Nel nostro caso l'URL sarà http://192.168.1.10/haproxy?stats

Possiamo anche visualizzare le statistiche HAProxy dal file di registro (/var/log/haproxy-access.log ).

Questo è tutto da questo tutorial, spero che questi passaggi ti aiutino a configurare HAProxy su CentOS 8 e RHEL 8 senza problemi. Condividi i tuoi preziosi feedback e commenti.

Leggi anche :Come configurare Django Python Framework su CentOS 8


Cent OS
  1. Installa e configura HAProxy su RHEL 8 / CentOS 8 Linux

  2. Come installare e configurare R sul sistema Linux RHEL 8 / CentOS 8

  3. Come installare e configurare HAProxy su CentOS/RHEL 7/6

  4. CentOS / RHEL 7 :Come installare e configurare telnet

  5. Come installare e configurare Samba in CentOS/RHEL

Come installare e configurare Nagios Core su CentOS 8 / RHEL 8

Come installare e configurare il server VNC in CentOS 7 / RHEL 7

Come installare e configurare Jenkins su CentOS 8 / RHEL 8

Come installare e configurare HAproxy su CentOS 6

Come installare e configurare MariaDB in CentOS / RHEL 7

Come installare e configurare il server VNC su CentOS/RHEL 8