HaProxy používajú populárne weby ako Tumblr, GitHub a StackOverflow. V tejto príručke vás prevedieme inštaláciou HAProxy v nastavení webových serverov poháňaných pomocou Nginx.
Laboratórne nastavenie
3 inštancie serverov CentOS 7, ako je znázornené
Názov hostiteľa IP adresyload_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
Na začiatok sa prihláste 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 to znázornené
$ vim / etc / hosts3.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 zamierte na každý z webových serverov a aktualizujte server / etc / hostitelia súbor s IP adresou a názvom hostiteľa nástroja na vyrovnávanie zaťaženia
3.17.12.132 vyvažovač záťažePotom potvrďte, že môžete pingovať nástroj na vyrovnávanie zaťaženia zo servera_01
A podobne od server_02
Nezabudnite tiež skontrolovať, či môžete serverom príkazom ping pomôcť nástroj na vyrovnávanie zaťaženia.
Perfektné ! všetky servery môžu komunikovať s nástrojom na vyrovnávanie zaťaženia!
Krok 2: Nainštalujte a nakonfigurujte HA Proxy na nástroji na vyrovnávanie zaťaženia
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, najskôr aktualizujte systém
# yum aktualizáciaĎalej nainštalujte HA Proxy podľa obrázka
# yum nainštalujte haproxy
Po úspešnej inštalácii prejdite do adresára haproxy.
# cd / etc / 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.porov súbor premenovaním.
# mv haproxy.cfg haproxy.porov.bakĎalej pokračujte a otvorte konfiguračný súbor
vim haproxy.porovUistite sa, že ste vykonali úpravu podľa obrázka
#---------------------------------------------------------------------# Globálne nastavenia
#---------------------------------------------------------------------
globálne
denník 127.0.0.1 konfigurácia local2 #Log
chroot / var / lib / haproxy
pidfile / var / run / haproxy.pid
maxconn 4000
haproxy používateľa #Haproxy bežiaci pod používateľom a skupinou „haproxy“
skupina haproxy
démon
# zapnúť unixovú štatistiku
stats socket / var / lib / haproxy / stats
#---------------------------------------------------------------------
# bežné predvolené hodnoty, ktoré dosiahnu všetky sekcie „počúvať“ a „backend“
# použitie, ak nie je určené v ich bloku
#---------------------------------------------------------------------
predvolené hodnoty
režim http
prihlásiť sa globálne
možnosť httplog
možnosť dontlognull
možnosť http-server-close
možnosť vpred okrem 127.0.0.0/8
možnosť redispečingu
opakuje 3
časový limit požiadavky HTTP 10 s
časový limit 1m
časový limit pripojiť 10 s
klient časového limitu 1m
server časového limitu 1 m
časový limit http-keep-alive 10 s
kontrola časového limitu 10 s
maxconn 3000
#---------------------------------------------------------------------
# HAProxy Monitoring Config
#---------------------------------------------------------------------
počúvať haproxy3-monitoring *: 8080 # Monitorovanie Haproxy beží na porte 8080
režim http
možnosť forwardfor
možnosť httpclose
štatistiky povoliť
štatistiky show-legendy
obnovenie štatistík 5 s
stats uri / stats #URL pre sledovanie HAProxy
stats realm Haproxy \ Statistics
stats auth Password123: Password123 # Používateľ a heslo pre prihlásenie na monitorovací panel
štatistika admin ak je PRAVDA
default_backend app-main # Toto je voliteľné pre sledovanie backendu
#---------------------------------------------------------------------
# Konfigurácia FrontEnd
#---------------------------------------------------------------------
frontend hlavný
viazať *: 80
možnosť http-server-close
možnosť forwardfor
default_backend app-main
#---------------------------------------------------------------------
# BackEnd round robin ako algoritmus vyváženia
#---------------------------------------------------------------------
backend app-main
zostatok Roundrobin #Balance Algoritmus
možnosť httpchk HEAD / HTTP / 1.1 \ r \ nHost: \ localhost
# Skontrolujte, či je serverová aplikácia funkčná - 200 stavový kód
server server_01 3.19.229.234:80 šek # Nginx1
server server_02 3.17.9.217: 80 šek # Nginx2
Nezabudnite upraviť názov hostiteľa a IP adresy webových serverov, ako je uvedené v posledných dvoch riadkoch. Uložte zmeny a ukončite prácu.
Ďalším krokom bude konfigurácia Rsyslog, aby bolo možné zaznamenávať štatistiku HAProxy.
# vim / etc / rsyslog.konfUistite sa, že ste odkomentovali riadky nižšie, aby ste umožnili UDP pripojenie
$ ModLoad imudp$ UDPServerRun 514
Ďalej pokračujte a vytvorte nový konfiguračný súbor haproxy.konf
# vim / etc / rsyslog.d / haproxy.konfVložte nasledujúce riadky, uložte a ukončite
miestny2.= info / var / log / haproxy-access.log # Pre prístupový protokolmiestny2.oznámenie / var / log / haproxy-info.log # Pre informácie o službe - backend, loadbalancer
Aby sa zmeny prejavili, reštartujte démona rsyslog, ako je to znázornené:
# systemctl reštartujte rsyslogPotom spustite a povoľte HAProxy
# systemctl spustiť rsyslog# systemctl povoliť rsyslog
Skontrolujte, či je program HAProxy spustený
# systemctl status rsyslog
Krok 3: Nainštalujte a nakonfigurujte Nginx
Jedinou časťou, ktorá teraz zostáva, je inštalácia Nginx. Prihláste sa na každý zo serverov a najskôr aktualizujte systémové balíčky:
# yum aktualizáciaĎalšia inštalácia EPEL (extra balíčky pre Enterprise Linux)
# yum nainštalujte vydanie epelAk chcete nainštalovať Nginx, spustite príkaz:
# yum nainštalovať nginxĎalej spustite a povoľte Nginx
# systemctl start nginx# systemctl povoliť nginx
Potom ideme upravovať index.html súbor v obidvoch prípadoch s cieľom demonštrovať alebo simulovať, ako je nástroj na vyrovnávanie zaťaženia schopný distribuovať webový prenos medzi obidva servery.
Pre server_01
# echo "server_01. Ahoj ! Vitajte na prvom webovom serveri "> index.htmlPre server_02
# echo "server_02. Ahoj ! Vitajte na druhom webovom serveri "> index.htmlZmeny, ktoré sa majú vykonať, reštartujte Nginx
# systemctl reštart nginxKrok 4: Testovanie funkčnosti nástroja na vyrovnávanie zaťaženia
Konečne sme v bode, kde 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.132Mali by ste dostať striedavý výstup na termináli ukazujúci hodnotu indexu.html zo servera_01 a server_02
Teraz otestujme použitie webového prehliadača. Prejdite si adresu IP vášho nástroja na vyrovnávanie zaťaženia
http: // load-balancer-IP-adresaNa prvej stránke sa zobrazí obsah ktoréhokoľvek z webových serverov
Teraz obnovte webovú stránku a skontrolujte, či zobrazuje obsah z iného webového servera
Perfektné ! Vyváženie záťaže rozdeľuje prenos IP rovnomerne medzi dva webové servery !
Týmto sa končí tento návod, ako nainštalovať a nakonfigurovať HAProxy na serveri CentOS 8. Vašu spätnú väzbu si veľmi vážime.