GNU/Linux >> Znalost Linux >  >> Rocky Linux

Jak nainstalovat a nakonfigurovat HAProxy na Rocky Linux 8

Když nasadíte aplikaci na internet, dostupnost, škálovatelnost a výkon aplikace jsou velmi důležité pro lepší uživatelskou zkušenost. Existuje mnoho technologií, které zavádějí redundanci, jako je vyvažování zátěže, clustering a proxy.

HAProxy je bezplatný, open source a spolehlivý nástroj pro vyrovnávání zatížení určený pro weby s vysokou návštěvností. Zatížení vyrovnává příchozí provoz tím, že jej rozděluje na několik backendových serverů.

V tomto článku vám ukážeme, jak nainstalovat HAProxy na Rocky Linux 8.

Pro účely tohoto kurzu použijeme následující nastavení:

Server                      IP adresa

HAProxy 172.16.10.10

Backend1 172.16.10.11

Backend2 172.16.10.12

Předpoklady

  • Server se systémem RockyLinux 8.
  • Na serveru je nakonfigurováno heslo uživatele root.

Instalovat HAProxy

Ve výchozím nastavení je balíček HAProxy dostupný ve výchozím repozitáři Rocky Linux 8. Můžete jej nainstalovat pomocí následujícího příkazu:

dnf install haproxy -y

Po instalaci HAProxy spusťte službu HAProxy a povolte její spuštění při restartu systému:

systemctl start haproxy
systemctl enable haproxy

Konfigurace HAProxy

Dále budete muset upravit soubor /etc/haproxy/haproxy.cfg a upravit dvě sekce frontend a backend. V sekci Frontend budete muset definovat HAProxy IP její port, URI statistiky a název backendu. V sekci Backend budete muset definovat algoritmus vyvažování zátěže, název backendového serveru, IP adresy a port.

nano /etc/haproxy/haproxy.cfg

Upravte následující sekce:

frontend http_balancer
    bind 172.16.10.10:80
    option http-server-close
    option forwardfor
    stats uri /haproxy?stats

default_backend     Apache_webservers

backend apache_webservers
    mode        http
    balance     roundrobin
    option httpchk HEAD / HTTP/1.1\r\nHost:\ localhost    
    server  apache1  172.16.10.11:80  check
    server  apache2  172.16.10.12:80  check

Po dokončení uložte a zavřete soubor, poté budete muset upravit soubor /etc/rsyslog.conf.

nano /etc/rsyslog.conf

Odkomentujte následující řádky:

module(load="imudp")
input(type="imudp" port="514")

Uložte a zavřete soubor a poté vytvořte soubor haproxy.conf pro rsyslog pomocí následujícího příkazu:

nano /etc/rsyslog.d/haproxy.conf

Přidejte následující řádky:

local2.=info     /var/log/haproxy-access.log
local2.notice    /var/log/haproxy-info.log

Dále spusťte službu rsyslog a povolte její spuštění při restartu systému:

systemctl start rsyslog
systemctl enable rsyslog

Nakonec restartujte službu HAProxy, aby se změny projevily:

systemctl restart haproxy

Stav služby HAProxy můžete také ověřit pomocí následujícího příkazu:

systemctl status haproxy

Měli byste vidět následující výstup:

? haproxy.service - HAProxy Load Balancer
   Loaded: loaded (/usr/lib/systemd/system/haproxy.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-08-03 03:10:37 EDT; 1min 16s ago
  Process: 44032 ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 44036 (haproxy)
    Tasks: 2 (limit: 12524)
   Memory: 3.1M
   CGroup: /system.slice/haproxy.service
           ??44036 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
           ??44111 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid

Aug 03 03:10:36 RockyLinux8 systemd[1]: Starting HAProxy Load Balancer...
Aug 03 03:10:37 RockyLinux8 systemd[1]: Started HAProxy Load Balancer.

Konfigurovat bránu firewall

Dále budete muset nakonfigurovat firewall na všech serverech a povolit port 80 přes firewall.

Pro povolení portu 80 můžete spustit následující příkaz:

firewall-cmd --permanent --add-port=80/tcp

Poté znovu načtěte službu firewall, aby se změny projevily.

firewall-cmd --reload

Konfigurace serverů backend

Dále budete muset nainstalovat server Apache na oba backend servery. Spuštěním následujícího příkazu nainstalujte server Apache.

dnf install httpd -y

Po instalaci serveru Apache spusťte službu Apache a povolte její spuštění při restartu systému:

systemctl start httpd
systemctl enable httpd

Dále budete muset upravit výchozí soubor index.html na obou backendových serverech.

Na prvním backendu upravte soubor index.html pomocí následujícího příkazu:

nano /usr/share/httpd/noindex/index.html

Odeberte všechny řádky a přidejte následující řádek:

Welcome to First Apache Web Server!

Po dokončení uložte a zavřete soubor.

Na druhém backendu upravte soubor index.html pomocí následujícího příkazu:

nano /usr/share/httpd/noindex/index.html

Odeberte všechny řádky a přidejte následující řádek:

Welcome to Second Apache Web Server!

Po dokončení uložte a zavřete soubor.

Ověřte HAProxy

V tomto okamžiku je HAProxy nakonfigurováno tak, aby předávalo všechny příchozí požadavky backendovým serverům na základě algoritmu pro vyrovnávání zátěže. Nyní je čas zkontrolovat, zda HAProxy funguje správně nebo ne.

Otevřete webový prohlížeč a zadejte IP HAProxy do adresy URL http://172.16.10.10 . Měli byste vidět svou první stránku webového serveru Apache:

Poté znovu obnovte stejnou stránku, měli byste vidět svou druhou stránku webového serveru Apache:

To potvrzuje, že HAProxy funguje podle očekávání a rozděluje provoz mezi dva backend servery.

Závěr

Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali HAProxy load balancer na Rocky Linux 8. Nyní můžete implementovat HAProxy do produkčního prostředí, abyste dosáhli vysokého výkonu a škálovatelnosti.


Rocky Linux
  1. Nainstalujte a nakonfigurujte Elasticsearch na Rocky Linux 8

  2. Jak nainstalovat a nakonfigurovat Squid Proxy na Rocky Linux/Alma Linux 8

  3. Jak nainstalovat a nakonfigurovat Elasticsearch na Rocky Linux 8

  1. Jak nainstalovat a nakonfigurovat docker v Rocky Linux/Centos 8

  2. Jak nainstalovat a nakonfigurovat Mono na Rocky Linux 8 a CentOS 8

  3. Jak nainstalovat a nakonfigurovat TensorFlow na Rocky Linux 8

  1. Jak nainstalovat a nakonfigurovat Ansible na Rocky Linux/CentOS 8

  2. Jak nainstalovat a nakonfigurovat HAProxy load balancer na Rocky Linux/Alma Linux 8

  3. Jak nainstalovat a nakonfigurovat Memcached na Rocky Linux/Alma Linux 8