Ubuntu

Jak nainstalovat a nakonfigurovat HAproxy na Ubuntu 20.04 LTS

Jak nainstalovat a nakonfigurovat HAproxy na Ubuntu 20.04 LTS
HAproxy je open-source a lehký balíček, který nabízí vysokou dostupnost a vyvažování zátěže pro programy založené na TCP a HTTP. Distribuuje zátěž mezi webový a aplikační server. HAproxy je k dispozici téměř pro všechny distribuce Linuxu. Jedná se o široce používaný nástroj pro vyrovnávání zatížení, který je oblíbený pro svou efektivitu, spolehlivost a nízkou paměť a stopu CPU. V tomto příspěvku vysvětlíme, jak nainstalovat a nakonfigurovat HAproxy v systému Ubuntu.

Máme tři stroje. Nainstalujeme HAproxy na jeden server a webové servery Apache na dva servery. Náš server HAproxy pak bude fungovat jako nástroj pro vyrovnávání zatížení a bude distribuovat zátěž mezi webové servery Apache.

Poznámka: Postup a příkazy uvedené v tomto příspěvku byly testovány Ubuntu 20.04 LTS (Focal Fossa). Stejný postup platí také pro distribuce Debian a Mint.

Podrobnosti o síti

Budeme používat tři servery Ubuntu; vše ve stejné síti. Podrobnosti o našich serverech jsou následující:

Název hostitele: HAproxy, IP adresa: 192.168.72.157 (frontendový server)
Název hostitele: web-server1, IP adresa: 192.168.72.158 (backendové servery)
Název hostitele: web-server2, IP adresa: 192.168.72.159 (servery typu backend)

Poznámka: Na všech serverech musíte mít oprávnění sudo.

Jeden stroj nakonfigurujeme jako nástroj pro vyrovnávání zatížení a další dva jako webové servery. HAproxy server bude náš front-end server, který bude přijímat požadavky od uživatelů a předávat je na dva webové servery. Webové servery budou naše servery typu Backend, které budou přijímat tyto přeposlané požadavky.

Takto vypadá naše nastavení:

Nastavení webových serverů - servery typu backend

V této části nastavíme dva webové servery (webový server1 a webový server2) jako naše backendové servery.

Na webovém serveru1 (192.168.72.158)

Na webovém serveru proveďte níže uvedené kroky. Nezapomeňte nahradit názvy hostitelů a adresy IP příslušnými adresami IP a názvy hostitelů vašich webových serverů.

1. Nakonfigurujte soubor hostitelů

Na webový server1, upravit / etc / hosts soubor:

$ sudo nano / etc / hosts

Poté přidejte položku názvu hostitele pro HAproxy server takto:

hostname-of-HAproxy IP-address-of-HAproxy

V našem scénáři by to bylo:

HAproxy 192.168.72.157

2. Nastavte webový server Apache

Nyní nainstalujte webový server Apache pomocí níže uvedeného příkazu v Terminálu. Můžete také navštívit náš příspěvek na Jak nainstalovat webový server Apache na Linuxu.

$ sudo apt nainstalovat apache2

Poté povolte a spusťte službu Apache pomocí níže uvedených příkazů v Terminálu:

$ sudo systemctl povolit apache2
$ sudo systemctl start apache2

Vytvořte indexový soubor pro webový server1 pomocí níže uvedeného příkazu v Terminálu:

$ echo "

Ahoj! Toto je webový server 1: 192.168.72.158

"| sudo tee / var / www / html / index.html

Pokud je ve vašem systému spuštěna brána firewall, budete muset přes ni povolit provoz Apache:

$ sudo ufw povolit 80 / tcp

Poté znovu načtěte konfigurace brány firewall:

$ ufw znovu načíst

Nyní zkuste přejít na web ve webovém prohlížeči zadáním http: // následuje buď IP adresa, nebo název hostitele vašeho webového serveru.

http: // název hostitele nebo IP adresa

Alternativně můžete webovou stránku otestovat také pomocí příkazu curl.

$ zvlnění

Na webovém serveru - 2 192.168.72.159)

Na druhém webovém serveru proveďte níže uvedené kroky. Nezapomeňte nahradit názvy hostitelů a adresy IP příslušnými adresami IP a názvy hostitelů vašich webových serverů.

1. Nakonfigurujte soubor hostitelů

v webový server2, upravit / etc / hosts soubor:

$ sudo nano / etc / hosts

Poté přidejte položku názvu hostitele pro HAproxy server takto:

HAproxy 192.168.72.157

2. Nainstalujte webový server Apache

Nyní nainstalujte webový server Apache pomocí níže uvedeného příkazu v Terminálu.

$ sudo apt nainstalovat apache2

Poté povolte a spusťte službu Apache pomocí níže uvedených příkazů v Terminálu:

$ sudo systemctl povolit apache2
$ sudo systemctl start apache2

Vytvořte indexový soubor pro web-server2 pomocí níže uvedeného příkazu v Terminálu:

$ echo "

Ahoj! Toto je webserver2: 192.168.72.159

"| sudo tee / var / www / html / index.html

Povolit Apache ve firewallu:

$ sudo ufw povolit 80 / tcp

a poté znovu načtěte konfigurace brány firewall:

$ ufw znovu načíst

Nyní zkuste přejít na web ve webovém prohlížeči zadáním http: // následuje buď IP adresa nebo název hostitele.

http: // název hostitele nebo IP adresa

Alternativně můžete k otestování webové stránky použít příkaz curl.

$ zvlnění

Nyní jsou naše webové servery Apache připraveny.

Nastavení serveru HAproxy Load Balancer-Frontend

V této části nastavíme HAproxy load balancer pro naši webové servery. Tento HAproxy server bude fungovat jako frontendový server a přijímá příchozí požadavky od klientů.

Na HAproxy server (192.168.72.157), proveďte níže uvedené kroky k nastavení nástroje pro vyrovnávání zatížení.

1. Nakonfigurujte soubor hostitelů

Upravte / etc / hosts soubor pomocí níže uvedeného příkazu v Terminálu:

$ sudo nano / etc / hosts

Přidejte následující položky názvu hostitele pro oba Apache webové servery spolu s vlastním názvem hostitele:

192.168.72.157 HAproxy
192.168.72.158 webový server
192.168.72.159 webový server2

Nyní uložte a zavřete / etc / hosts soubor.

Instalace nástroje pro rozložení zátěže HAproxy

Nyní v tomto kroku budeme instalovat HAproxy na jeden z našich serverů Ubuntu (192.168.72.157). Chcete-li tak učinit, aktualizujte apt pomocí následujícího příkazu v Terminálu:

$ sudo apt-get aktualizace

Pak aktualizujte balíčky pomocí následujícího příkazu:

$ sudo apt-get upgrade

Nyní nainstalujte HAproxy pomocí následujícího příkazu v Terminálu:

$ sudo sudo apt nainstalovat haproxy

Po dokončení instalace serveru HAproxy jej můžete potvrdit pomocí následujícího příkazu v Terminálu:

$ haproxy -v

Ukáže vám nainstalovanou verzi HAproxy ve vašem systému, která ověří, že HAproxy byl úspěšně nainstalován.

Konfigurace HAproxy jako nástroje pro vyrovnávání zatížení

V následující části nakonfigurujeme HAproxy jako nástroj pro vyrovnávání zatížení. Udělat to tak, upravte / etc / haproxy / haproxy.srov soubor:

$ sudo nano / etc / haproxy / haproxy.srov

Připojte následující řádky v haproxy.cfg soubor nahrazující IP adresy vašimi vlastními IP adresami.

The frontend web-frontend ve výše uvedených konfiguračních řádcích říká HAproxy, aby poslouchal příchozí požadavky na portu 80 z 192.168.72.157 a poté je přeposlat na back-endové servery nakonfigurované pod backend webový backend. Při konfiguraci nahraďte adresy IP příslušnými adresami IP vašich webových serverů.

Konfigurace monitorování HAproxy

S monitorováním HAproxy můžete zobrazit spoustu informací, včetně stavu serveru, přenesených dat, doby provozu, rychlosti relace atd. Chcete-li nakonfigurovat monitorování HAproxy, připojte následující řádky do konfiguračního souboru umístěného na / etc / haproxy / haproxy.srov:

poslouchat statistiky
svázat 192.168.72.157: 8080
režim http
možnost forwardfor
možnost httpclose
statistiky povoleny
statistiky ukazují legendy
aktualizace statistik 5 s
statistiky uri / statistiky
statistiky říše Haproxy \ Statistiky
stats auth kbuzdar: kbuzdar       # Přihlášení uživatele a hesla pro monitorování
stats admin if TRUE
default_backend web-backend

Výše uvedená konfigurace umožňuje HAproxy -statistikyStránka pomocí statistiky směrnice a zajišťuje ji http základní autentizace pomocí uživatelského jména a hesla definovaného statistiky ověř směrnice.

Až budete s konfiguracemi hotovi, uložte a zavřete haproxy.soubor CFG.

Nyní ověřte konfigurační soubor pomocí níže uvedeného příkazu v Terminálu:

$ haproxy -c -f / etc / haproxy / haproxy.srov

Následující výstup ukazuje, že konfigurace jsou správné.

Chcete-li použít tyto konfigurace, restartujte službu HAproxy:

$ sudo systemctl restart haproxy.servis

Zastaví se a poté spustí službu HAproxy.

Chcete-li zkontrolovat stav služby HAproxy, bude příkaz:

$ sudo systemctl status haproxy.servis

The aktivní (běží) stav v následujícím výstupu ukazuje, že HAproxy server je povolený a běží dobře.

Zde je několik dalších příkazů pro správu serveru HAproxy:

Chcete-li spustit server HAproxy, bude příkaz:

$ sudo systemctl start haproxy.servis

Chcete-li zastavit server HAproxy, bude příkaz:

$ sudo systemctl stop haproxy.servis

V případě, že chcete dočasně deaktivovat HAproxy server, bude příkaz:

$ sudo systemctl zakáže haproxy.servis

Chcete-li znovu povolit server HAproxy, bude příkaz:

$ sudo systemctl povolit haproxy.servis

Vyzkoušejte HAproxy

Před testováním nastavení HAproxy se ujistěte, že máte připojení k webovým serverům. Z vašeho HAproxy serveru proveďte ping na oba webové servery buď podle jejich IP adres nebo názvů hostitelů.

$ ping název hostitele nebo IP adresa

Následující výstup ukazuje, že server HAproxy se může dostat na oba webové servery.

Otestujte HA Proxy pomocí webového prohlížeče

Nyní na serveru HAproxy otevřete libovolný webový prohlížeč a zadejte http: // následuje IP adresa HAproxy serveru, která je v našem případě 192.168.72.157.

http: // 192.168.72.157

Server HAproxy alternativně odešle požadavek na oba webové servery metodou round-robin. Můžete to otestovat tak, že webovou stránku několikrát načtete.

Toto je odpověď, kterou jsme dostali, když jsme navštívili http: // 192.168.72.157 poprvé:

Toto je odpověď, kterou jsme dostali, když jsme znovu načetli webovou stránku:

Místo IP adresy HAproxy serveru můžete také použít název hostitele.

Vyzkoušejte HA Proxy pomocí zvlnění

K otestování nastavení HAproxy můžete také použít příkaz curl v Linuxu. Otevřete terminál a zadejte kučera následuje IP adresa nebo název hostitele HAproxy serveru.

$ zvlnění 192.168.72.157

nebo

$ curl HAproxy

Spusťte příkaz curl několikrát a uvidíte střídání odezvy mezi oběma webovými servery.

Místo toho, abyste příkazy spustili několikrát, můžete také spustit následující jednořádkový skript a otestovat server HAproxy:

$ zatímco pravda; zvlnit 192.168.72.157; spát 1; Hotovo

Testování monitorování HAproxy

Chcete-li přejít na stránku monitorování HAproxy, zadejte http: // následuje IP adresa / název hostitele HAproxy serveru a port 8080 / stats:

http: // 192.168.72.157: 8080 / statistiky

nebo

http: // HAproxy: 8080 / stats

Zobrazí se následující ověřovací pole. Enter uživatelské jméno a Heslo jste nakonfigurovali dříve v konfiguracích a poté stiskněte OK.

Toto je statistická zpráva pro náš server HAproxy.

Zde máte instalaci a konfiguraci HAproxy load balancer v systému Linux. Právě jsme diskutovali o základním nastavení a konfiguraci HAproxy jako nástroje pro vyrovnávání zatížení pro webové servery Apache. Podívali jsme se také na některé příkazy pro správu HAproxy serveru. Nakonec jsme otestovali vyvažování zátěže pomocí prohlížeče a příkazu curl. Další informace najdete v oficiální dokumentaci HAproxy

Jak nainstalovat Linux Mint a dual-boot se systémem Windows
Linux Mint je jednou z populárních distribucí Linuxu, která je známá pro desktop Microsoft Windows podobný. Má hlavní panel, tlačítko Start a několik ...
Nainstalujte kompletní Linux Mint na USB disk
Už jste někdy chtěli mít přenosný systém Linux Mint plně nainstalovaný na USB disk připravený k použití na libovolném náhodném počítači? Pokud je odpo...
Jak nainstalovat OpenJDK (Java) na Ubuntu
Java je jedním z nejpopulárnějších programovacích jazyků na světě. Je to stále jeden z nejlepších jazyků pro vytváření výkonných aplikací napříč platf...