HAProxy je bezplatné, open-source a spolehlivé řešení pro vysokou dostupnost a vyrovnávání zátěže. Rozkládá zátěž mezi více aplikačních serverů a zjednodušuje úlohy zpracování požadavků. Lze jej nainstalovat na všechny hlavní operační systémy Linux. Je oblíbený díky své efektivitě, spolehlivosti a nízké kapacitě paměti a CPU.
V tomto příspěvku vysvětlíme, jak nainstalovat HAProxy na systém Debian 11.
Předpoklady
- Server se systémem Debian 11 pro HAProxy.
- Dva servery se systémem Debian 11 pro server Apache Backend.
- Na všech serverech je nakonfigurováno heslo uživatele root.
Nastavení backendových webových serverů
Pro účely tohoto tutoriálu budete muset nastavit dva backendové servery Apache.
Na prvním backendovém serveru nainstalujte balíček Apache pomocí následujícího příkazu:
apt-get install apache2 -y
Jakmile je Apache nainstalován, vytvořte ukázkovou indexovou stránku Apache pomocí následujícího příkazu:
echo "<H1>Welcome to the first Apache Server</H1>" | tee /var/www/html/index.html
Na druhém backendovém serveru nainstalujte balíček Apache pomocí následujícího příkazu:
apt-get install apache2 -y
Dále vytvořte ukázkovou indexovou stránku Apache pomocí následujícího příkazu:
echo "<H1>Welcome to the second Apache Server</H1>" | tee /var/www/html/index.html
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalovat HAProxy
Ve výchozím nastavení je HAProxy součástí výchozího úložiště Debian 11. Můžete jej nainstalovat spuštěním následujícího příkazu:
apt-get 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
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Konfigurace HAProxy
Dále budete muset upravit výchozí konfigurační soubor HAProxy a definovat backendové webové servery.
nano /etc/haproxy/haproxy.cfg
Přidejte následující řádky:
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
Po dokončení uložte a zavřete soubor.
Kde :192.168.1.10 je IP adresa prvního backendového serveru Apache a 192.168.1.11 je IP adresa druhého backend serveru Apache.
Dále restartujte službu HAProxy, aby se změny projevily:
systemctl restart haproxy
Nyní můžete zkontrolovat stav HAProxy pomocí následujícího příkazu:
systemctl status haproxy
Získáte následující výstup:
? 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.
Ověřte HAProxy
V tomto okamžiku je HAProxy nakonfigurováno a spuštěno. Nyní je čas otestovat HAProxy.
Otevřete webový prohlížeč a zadejte adresu URL http://your-haproxy-ip . Uvidíte, že HAProxy odesílá požadavky na backend servery jeden po druhém po každém obnovení.
Závěr
Gratulujeme! úspěšně jste nainstalovali HAProxy na Debian 11. Nyní můžete implementovat HAProxy do produkčního prostředí a zvýšit tak výkon a dostupnost webových aplikací.