HaProxy používají oblíbené weby jako Tumblr, GitHub a StackOverflow. V této příručce vás provedeme instalací HAProxy v nastavení webových serverů napájených pomocí Nginx.
Nastavení laboratoře
3 instance serverů CentOS 7, jak je znázorněno
Název hostitele IP adresyload_balancer 3.17.12.132
server_01 3.19.229.234
server_02 3.17.9.217
Krok 1: Upravte soubor / etc / hosts pro nástroj pro vyrovnávání zatížení
Chcete-li začít, přihlaste se do systému pro vyrovnávání zatížení a upravte soubor / etc / hosts tak, aby obsahoval názvy hostitelů a adresy IP dvou webových serverů, jak je znázorněno
$ vim / etc / hosts3.19.229.234 server_01
3.17.9.217 server-02
Po dokončení uložte změny a ukončete konfigurační soubor.
Nyní přejděte na každý z webových serverů a aktualizujte / etc / hosts soubor s IP adresou a názvem hostitele nástroje pro vyrovnávání zatížení
3.17.12.132 vyvažovač zátěžePoté potvrďte, že můžete provést ping na nástroj pro vyrovnávání zatížení ze serveru_01
A podobně od server_02
Ujistěte se také, že můžete provést ping na servery z nástroje pro vyrovnávání zatížení.
Perfektní ! všechny servery mohou komunikovat s nástrojem pro vyrovnávání zatížení!
Krok 2: Nainstalujte a nakonfigurujte HA Proxy na nástroji pro vyrovnávání zatížení
Protože HA Proxy je snadno dostupný z oficiálního úložiště CentOS, budeme jej instalovat pomocí správce balíčků yum nebo dnf.
Ale jako vždy nejprve aktualizujte systém
# yum aktualizaceDále nainstalujte HA Proxy, jak je znázorněno
# yum nainstalovat haproxy
Po úspěšné instalaci přejděte do adresáře haproxy.
# cd / etc / haproxyOsvědčené postupy vyžadují, abychom před provedením jakýchkoli změn zálohovali jakýkoli konfigurační soubor. Takže zálohujte haproxy.srov přejmenováním souboru.
# mv haproxy.CFG haproxy.srov.bakDále pokračujte a otevřete konfigurační soubor
vim haproxy.srovNezapomeňte provést úpravu podle obrázku
#---------------------------------------------------------------------# Globální nastavení
#---------------------------------------------------------------------
globální
protokol 127.0.0.1 lokální2 # konfigurace protokolu
chroot / var / lib / haproxy
pidfile / var / run / haproxy.pid
maxconn 4000
haproxy uživatele #Haproxy běžící pod uživatelem a skupinou „haproxy“
skupina haproxy
démon
# zapnout statistiku unixového soketu
stats socket / var / lib / haproxy / stats
#---------------------------------------------------------------------
# běžné výchozí hodnoty, které budou mít všechny sekce „poslech“ a „backend“
# použít, pokud není uvedeno v jejich bloku
#---------------------------------------------------------------------
výchozí hodnoty
režim http
přihlásit se globálně
možnost httplog
možnost dontlognull
volba http-server-zavřít
možnost forwardfor kromě 127.0.0.0/8
možnost redispečinku
opakuje 3
časový limit požadavku http 10 s
fronta časového limitu 1 m
timeout connect 10s
timeout klient 1m
server časového limitu 1m
časový limit http-keep-alive 10 s
kontrola časového limitu 10 s
maxconn 3000
#---------------------------------------------------------------------
#HAProxy Monitoring Config
#---------------------------------------------------------------------
poslouchat haproxy3-monitoring *: 8080 # Monitorování Haproxy běží na portu 8080
režim http
možnost forwardfor
možnost httpclose
statistiky povoleny
statistiky ukazují legendy
aktualizace statistik 5 s
stats uri / stats #URL pro monitorování HAProxy
statistiky říše Haproxy \ Statistiky
stats auth Password123: Password123 # Uživatel a heslo pro přihlášení na monitorovací panel
stats admin if TRUE
default_backend app-main # Toto je volitelně pro monitorování backendu
#---------------------------------------------------------------------
# Konfigurace FrontEnd
#---------------------------------------------------------------------
frontend hlavní
vazba *: 80
volba http-server-zavřít
možnost forwardfor
default_backend hlavní aplikace
#---------------------------------------------------------------------
# BackEnd round robin jako algoritmus vyvážení
#---------------------------------------------------------------------
back-end hlavní aplikace
zůstatek Roundrobin # Balance Algoritmus
volba httpchk HEAD / HTTP / 1.1 \ r \ nHost: \ localhost
# Zkontrolujte, zda je serverová aplikace funkční a zda je zdravá - 200 stavových kódů
server server_01 3.19.229.234: 80 kontrola # Nginx1
server server_02 3.17.9.217: 80 kontrola # Nginx2
Nezapomeňte upravit název hostitele a IP adresy webových serverů, jak je uvedeno v posledních dvou řádcích. Uložte změny a ukončete.
Dalším krokem bude konfigurace Rsyslog, aby bylo možné zaznamenávat statistiky HAProxy.
# vim / etc / rsyslog.konfNezapomeňte odkomentovat níže uvedené řádky, abyste povolili připojení UDP
$ ModLoad imudp$ UDPServerRun 514
Dále pokračujte a vytvořte nový konfigurační soubor haproxy.konf
# vim / etc / rsyslog.d / haproxy.konfVložte následující řádky, uložte a ukončete
místní2.= info / var / log / haproxy-access.log #Pro přístupový protokolmístní2.upozornění / var / log / haproxy-info.log #Pro informace o službě - backend, loadbalancer
Aby se změny projevily, restartujte démona rsyslog, jak je znázorněno:
# systemctl restart rsyslogPoté spusťte a povolte HAProxy
# systemctl start rsyslog# systemctl povolit rsyslog
Ověřte, zda je spuštěna aplikace HAProxy
# systemctl status rsyslog
Krok 3: Nainstalujte a nakonfigurujte Nginx
Jedinou zbývající částí je instalace Nginx. Přihlaste se ke každému ze serverů a nejprve aktualizujte systémové balíčky:
# yum aktualizaceDalší instalace EPEL (Extra Packages pro Enterprise Linux)
# yum install epel-releaseChcete-li nainstalovat Nginx, spusťte příkaz:
# yum nainstalovat nginxDále spusťte a povolte Nginx
# systemctl start nginx# systemctl povolit nginx
Poté se chystáme upravit index.soubor html v obou případech, aby bylo možné demonstrovat nebo simulovat, jak je nástroj pro vyrovnávání zatížení schopen distribuovat webový provoz mezi oběma servery.
Pro server_01
# echo "server_01. Ahoj ! Vítejte na prvním webovém serveru "> indexu.htmlPro server_02
# echo "server_02. Ahoj ! Vítejte na druhém webovém serveru "> indexu.htmlChcete-li provést změny, restartujte Nginx
# systemctl restart nginxKrok 4: Testování, zda funguje nástroj pro vyrovnávání zatížení
Konečně jsme v bodě, kde chceme zjistit, zda konfigurace funguje. Přihlaste se tedy do nástroje pro vyrovnávání zatížení a opakovaně spusťte příkaz curl
# zvlnění 3.17.12.132Měli byste dostat střídavý výstup na terminálu zobrazující hodnotu indexu.html ze server_01 a server_02
Nyní otestujeme pomocí webového prohlížeče. Procházejte IP adresu nástroje pro vyrovnávání zatížení
http: // load-balancer-IP-adresaNa první stránce se zobrazí obsah kteréhokoli z webových serverů
Nyní obnovte webovou stránku a zkontrolujte, zda zobrazuje obsah z jiného webového serveru
Perfektní ! Vyvážení zátěže rozděluje provoz IP rovnoměrně mezi dva webové servery !
Tím je zakončen tento návod, jak nainstalovat a konfigurovat HAProxy na CentOS 8. Vaše zpětná vazba bude velmi oceněna.