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ů, které jsou napájeny pomocí Nginx.
Nastavení laboratoře
3 instance serverů CentOS 7, jak je znázorněno
Název hostitele IP adresy
load_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 vyrovnávání zatížení a upravte soubor /etc/hosts tak, aby obsahoval názvy hostitelů a IP adresy dvou webových serverů, jak je znázorněno
$ protože / atd / hostitelé
3.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 je /etc/hosts soubor s IP adresou a názvem hostitele nástroje pro vyrovnávání zatížení
3.17.12.132 load-balancerPoté potvrďte, že můžete pingnout nástroj pro vyrovnávání zatížení ze serveru_01
A stejně tak ze serveru_02
Také se ujistěte, že můžete pingnout servery z nástroje pro vyrovnávání zatížení.
Perfektní! všechny servery mohou komunikovat s load balancerem!
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, nainstalujeme jej pomocí správce balíčků yum nebo dnf.
Ale jako vždy nejprve aktualizujte systém
# mňam aktualizaceDále nainstalujte HA Proxy podle obrázku
# mňam instalace hapoxyPo úspěšné instalaci přejděte do adresáře haproxy.
# CD / atd / hapoxyOsvědčený postup vyžaduje, abychom před provedením jakýchkoli úprav zálohovali jakýkoli konfigurační soubor. Takže zálohujte haproxy.cfg soubor přejmenováním.
# mv haproxy.cfg haproxy.cfg.bakDále pokračujte a otevřete konfigurační soubor
protože haproxy.cfgUjistěte se, že jste provedli úpravu podle obrázku
#------------------------------------------------- --------------------# Globální nastavení
#------------------------------------------------- --------------------
globální
log 127.0.0.1 local2 # Konfigurace protokolu
chroot / byl / lib / hapoxy
pidfile / byl / běh / haproxy.pid
maxconn 4000
uživatel haproxy #Haproxy běží pod uživatelem a skupinou 'haproxy'
skupina hapoxy
démon
# zapněte statistiky unix socket
soket statistik / byl / lib / hapoxy / statistiky
#------------------------------------------------- --------------------
# běžné výchozí hodnoty, které budou mít všechny sekce 'naslouchat' a 'backend'
# použijte, pokud není uvedeno v jejich bloku
#------------------------------------------------- --------------------
výchozí
režim http
log celosvětově
možnost httplog
možnost dontlognull
možnost http-server-close
možnost forwardfor kromě 127.0.0.0 / 8
možnost opětovné odeslání
zopakuje 3
časový limit http-request 10s
fronta časového limitu 1 m
časový limit připojení 10s
časový limit klienta 1 m
časový limit serveru 1 m
časový limit http-keep-alive 10s
kontrola časového limitu 10s
maxconn 3000
#------------------------------------------------- --------------------
#HAProxy Monitoring Config
#------------------------------------------------- --------------------
poslouchejte haproxy3-monitoring * : 8080 #Haproxy Monitoring běží na portu 8080
režim http
možnost vpřed
možnost httpzavřít
statistiky umožnit
statistiky ukazují legendy
statistiky se obnovují 5 s
statistiky uri / statistiky #URL pro monitorování HAProxy
statistiky říše Haproxy\ Statistiky
statistika auth Password123: Password123 #Uživatel a heslo pro přihlášení do monitorovacího panelu
správce statistik -li SKUTEČNÝ
default_backend app-main #Toto je volitelně pro monitorování backendu
#------------------------------------------------- --------------------
# Konfigurace frontendu
#------------------------------------------------- --------------------
hlavní frontend
svázat * : 80
možnost http-server-close
možnost vpřed
default_backend app-main
#------------------------------------------------- --------------------
# BackEnd round robin jako balanční algoritmus
#------------------------------------------------- --------------------
backendová hlavní aplikace
balancovat roundrobin #Algoritmus rovnováhy
možnost httpchk HEAD / HTTP / 1.1 \r\nHostitel:\ localhost
#Zkontrolujte, zda je serverová aplikace funkční a v pořádku – stavový kód 200
server server_01 3.19.229.234: 80 šek #Nginx1
server server_02 3.17.9.217: 80 šek #Nginx2
Nezapomeňte upravit název hostitele a IP adresy webových serverů, jak je uvedeno na posledních dvou řádcích. Uložte změny a ukončete.
Dalším krokem bude konfigurace Rsyslog tak, aby bylo možné protokolovat statistiky HAProxy.
# protože / atd / rsyslog.confUjistěte se, že odkomentujete 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.conf
# protože / atd / rsyslog.d / haproxy.confVložte následující řádky, uložte a ukončete
local2.=info / byl / log / haproxy-access.log #Pro protokol přístupumístní2.upozornění / byl / log / haproxy-info.log #For Service Info - Backend, loadbalancer
Aby se změny projevily, restartujte démona rsyslog, jak je znázorněno:
# systemctl restartujte rsyslogPoté spusťte a povolte HAProxy
# systemctl spusťte rsyslog# systemctl povolí rsyslog
Ověřte, že HAProxy běží
# systemctl status rsyslogKrok 3: Nainstalujte a nakonfigurujte Nginx
Nyní zbývá pouze instalace Nginx. Přihlaste se ke každému ze serverů a nejprve aktualizujte systémové balíčky:
# mňam aktualizaceDalší instalace EPEL (Extra Packages for Enterprise Linux)
# mňam instalace teplé uvolněníChcete-li nainstalovat Nginx, spusťte příkaz:
# mňam instalace nginxDále spusťte a povolte Nginx
# systemctl spusťte nginx# systemctl povolit nginx
V obou případech pak upravíme soubor index.html, abychom ukázali nebo simulovali, jak je nástroj pro vyrovnávání zatížení schopen distribuovat webový provoz na oba servery.
Pro server_01
# echo 'server_01. Ahoj! Vítejte na prvním webovém serveru' > index.htmlPro server_02
# echo 'server_02. Ahoj! Vítejte na druhém webovém serveru' > index.htmlAby se změny projevily, restartujte Nginx
# systemctl restartujte nginxKrok 4: Testování, zda funguje vyvažovač zátěže
Konečně jsme v bodě, kdy chceme zjistit, zda konfigurace funguje. Přihlaste se tedy do load balanceru a provádějte příkaz curl opakovaně
# curl 3.17.12.132Na terminálu byste měli získat střídavý výstup zobrazující hodnotu index.html ze server_01 a server_02
Nyní otestujeme pomocí webového prohlížeče. Procházejte IP adresu vašeho load balanceru
http: // load-balancer-IP-adresaNa první stránce se zobrazí obsah z libovolného webového serveru
Nyní obnovte webovou stránku a zkontrolujte, zda zobrazuje obsah z jiného webového serveru
Perfektní! Rovnováha zátěže rozděluje IP provoz rovnoměrně mezi dva webové servery!
Toto uzavírá tento tutoriál o tom, jak můžete nainstalovat a nakonfigurovat HAProxy na CentOS 8. Vaše zpětná vazba bude velmi oceněna.