HaProxy používajú populárne stránky ako Tumblr, GitHub a StackOverflow. V tejto príručke vás prevedieme inštaláciou HAProxy v nastavení webových serverov, ktoré sú napájané pomocou Nginx.
Nastavenie laboratória
3 inštancie serverov CentOS 7, ako je znázornené
Názov hostiteľa Adresy IP
load_balancer 3.17.12.132
server_01 3.19.229.234
server_02 3.17.9.217
Krok 1: Upravte súbor /etc/hosts pre nástroj na vyrovnávanie zaťaženia
Ak chcete začať, prihláste sa do systému vyrovnávania zaťaženia a upravte súbor /etc/hosts tak, aby obsahoval názvy hostiteľov a adresy IP dvoch webových serverov, ako je znázornené
$ pretože / atď / hostiteľov
3.19.229.234 server_01
3.17.9.217 server-02
Po dokončení uložte zmeny a ukončite konfiguračný súbor.
Teraz prejdite na každý z webových serverov a aktualizujte ho /etc/hosts súbor s IP adresou a názvom hostiteľa nástroja na vyrovnávanie zaťaženia
3.17.12.132 vyrovnávač zaťaženiaPotom potvrďte, že môžete ping na nástroj na vyrovnávanie zaťaženia zo servera_01
A podobne zo servera_02
Tiež sa uistite, že môžete pingovať servery z nástroja na vyrovnávanie zaťaženia.
Perfektné! všetky servery môžu komunikovať s vyrovnávačom zaťaženia!
Krok 2: Nainštalujte a nakonfigurujte HA Proxy na vyrovnávacom zaťažení
Pretože HA Proxy je ľahko dostupný z oficiálneho úložiska CentOS, nainštalujeme ho pomocou správcu balíkov yum alebo dnf.
Ale ako vždy, najprv aktualizujte systém
# mňam aktualizáciaĎalej nainštalujte HA Proxy podľa obrázka
# mňam inštalácia haproxyPo úspešnej inštalácii prejdite do adresára haproxy.
# cd / atď / haproxyOsvedčený postup vyžaduje, aby sme pred vykonaním akýchkoľvek úprav zálohovali akýkoľvek konfiguračný súbor. Takže zálohujte haproxy.cfg súbor premenovaním.
# mv haproxy.cfg haproxy.cfg.bakĎalej pokračujte a otvorte konfiguračný súbor
pretože haproxy.cfgUistite sa, že ste vykonali úpravu podľa obrázka
#-------------------------------------------------- ---------------------# Globálne nastavenia
#-------------------------------------------------- ---------------------
globálne
log 127.0.0.1 miestne2 #Konfigurácia denníka
chroot / bol / lib / haproxy
pidfile / bol / behať / haproxy.pid
maxconn 4000
používateľ hapoxy #Haproxy beží pod užívateľom a skupinou 'haproxy'
skupina hapoxy
démon
# zapnite unixovú zásuvku štatistík
štatistická zásuvka / bol / lib / haproxy / štatistiky
#-------------------------------------------------- ---------------------
# bežné predvolené hodnoty, ktoré budú mať všetky sekcie 'počúvať' a 'backend'
# použite, ak nie je uvedené v ich bloku
#-------------------------------------------------- ---------------------
predvolené hodnoty
režim http
prihlásiť globálne
možnosť httplog
možnosť dontlognull
možnosť http-server-close
možnosť forwardfor okrem 127.0.0.0 / 8
možnosť opätovné odoslanie
zopakuje 3
časový limit http-požiadavka 10 s
časový limit 1 m
časový limit pripojenia 10 s
časový limit klienta 1 m
časový limit servera 1 m
časový limit http-keep-alive 10s
kontrola časového limitu 10 s
maxconn 3000
#-------------------------------------------------- ---------------------
#HAProxy Monitoring Config
#-------------------------------------------------- ---------------------
počúvať haproxy3-monitoring * : 8080 #Haproxy Monitoring beží na porte 8080
režim http
možnosť dopredu
možnosť httpzavrieť
štatistiky povoliť
štatistiky ukazujú legendy
štatistiky sa obnovujú 5 s
štatistiky uri / štatistiky #URL pre monitorovanie HAProxy
štatistika sféra Haproxy\ Štatistika
autentizácia štatistík Heslo123: Heslo123 #Používateľ a heslo na prihlásenie do monitorovacieho panela
správca štatistík ak PRAVDA
default_backend app-main #Toto je voliteľné na monitorovanie backendu
#-------------------------------------------------- ---------------------
# Konfigurácia frontendu
#-------------------------------------------------- ---------------------
hlavný frontend
viazať * : 80
možnosť http-server-close
možnosť dopredu
default_backend app-main
#-------------------------------------------------- ---------------------
# BackEnd round robin ako balančný algoritmus
#-------------------------------------------------- ---------------------
backend app-main
balansovať kolotoč #Algoritmus rovnováhy
možnosť httpchk HEAD / HTTP / 1.1 \r\nHostiteľ:\ localhost
#Skontrolujte, či je serverová aplikácia funkčná a v poriadku - stavový kód 200
server server_01 3.19.229.234: 80 skontrolovať #Nginx1
server server_02 3.17.9.217: 80 skontrolovať #Nginx2
Nezabudnite upraviť názov hostiteľa a adresy IP webového servera, ako je uvedené v posledných dvoch riadkoch. Uložte zmeny a ukončite.
Ďalším krokom bude konfigurácia Rsyslog, aby mohol zaznamenávať štatistiky HAProxy.
# pretože / atď / rsyslog.confUistite sa, že ste odkomentovali riadky nižšie, aby ste povolili pripojenia UDP
$ModLoad imudp$UDPServerRun 514
Ďalej pokračujte a vytvorte nový konfiguračný súbor haproxy.conf
# pretože / atď / rsyslog.d / haproxy.confPrilepte nasledujúce riadky, uložte ich a ukončite
local2.=info / bol / log / haproxy-access.log #Pre denník prístupumiestne2.upozornenie / bol / log / haproxy-info.log #For Service Info - Backend, loadbalancer
Aby sa zmeny prejavili, reštartujte démona rsyslog, ako je znázornené:
# systemctl reštartujte rsyslogPotom spustite a povoľte HAProxy
# systemctl spustí rsyslog# systemctl povoliť rsyslog
Overte, či je spustený HAProxy
# systemctl status rsyslogKrok 3: Nainštalujte a nakonfigurujte Nginx
Teraz zostáva jedinou časťou inštalácia Nginx. Prihláste sa na každý zo serverov a najskôr aktualizujte systémové balíky:
# mňam aktualizáciaĎalšia inštalácia EPEL (Extra Packages for Enterprise Linux)
# mňam inštalácia teplé uvoľnenieAk chcete nainštalovať Nginx, spustite príkaz:
# mňam inštalácia nginxĎalej spustite a povoľte Nginx
# systemctl spustí nginx# systemctl povoliť nginx
Potom v oboch prípadoch upravíme súbor index.html, aby sme demonštrovali alebo simulovali, ako je nástroj na vyrovnávanie záťaže schopný distribuovať webovú prevádzku na oba servery.
Pre server_01
# ozvena 'server_01. Ahoj! Vitajte na prvom webovom serveri' > index.htmlPre server_02
# ozvena 'server_02. Ahoj! Vitajte na druhom webovom serveri' > index.htmlAby sa zmeny prejavili, reštartujte Nginx
# systemctl reštartujte nginxKrok 4: Testovanie, či funguje vyrovnávač zaťaženia
Konečne sme v bode, kedy chceme zistiť, či konfigurácia funguje. Prihláste sa teda do nástroja na vyrovnávanie zaťaženia a opakovane vykonajte príkaz curl
# zvlnenie 3.17.12.132Na termináli by ste mali dostať striedavý výstup zobrazujúci hodnotu index.html zo servera_01 a servera_02
Teraz poďme otestovať pomocou webového prehliadača. Prezrite si IP adresu svojho vyrovnávača zaťaženia
http: // load-balancer-IP-adresaNa prvej stránke sa zobrazí obsah z ľubovoľného webového servera
Teraz obnovte webovú stránku a skontrolujte, či zobrazuje obsah z iného webového servera
Perfektné! Rovnováha zaťaženia rozdeľuje IP prevádzku rovnomerne medzi dva webové servery!
Toto uzatvára tento tutoriál o tom, ako môžete nainštalovať a nakonfigurovať HAProxy na CentOS 8. Vaša spätná väzba bude veľmi ocenená.