HAProxy

Ako nastaviť HAProxy ako Load Balancer pre Nginx v CentOS 8

Ako nastaviť HAProxy ako Load Balancer pre Nginx v CentOS 8
High Availability Proxy, tiež skrátene HAProxy je ľahký a rýchly nástroj na vyrovnávanie zaťaženia, ktorý slúži aj ako proxy server. Ako nástroj na vyrovnávanie zaťaženia zohráva rozhodujúcu úlohu pri distribúcii prichádzajúceho webového prenosu na viac webových serverov pomocou určitých kritérií. Pritom zaisťuje vysokú dostupnosť a odolnosť voči chybám v prípade, že existuje príliš veľa súbežných požiadaviek, ktoré môžu preťažiť jeden webový server.

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 adresy
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

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 / hosts
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 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že

Potom 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 / haproxy

Osvedč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.porov

Uistite 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.konf

Uistite 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.konf

Vložte nasledujúce riadky, uložte a ukončite

miestny2.= info / var / log / haproxy-access.log # Pre prístupový protokol
miestny2.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 rsyslog

Potom 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 epel

Ak 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.html

Pre server_02

# echo "server_02. Ahoj ! Vitajte na druhom webovom serveri "> index.html

Zmeny, ktoré sa majú vykonať, reštartujte Nginx

# systemctl reštart nginx

Krok 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.132

Mali 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-adresa

Na 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.

Hry Ako zvýšiť rýchlosť FPS v systéme Linux?
Ako zvýšiť rýchlosť FPS v systéme Linux?
FPS znamená Počet snímok za sekundu. Úlohou FPS je merať snímkovú frekvenciu pri prehrávaní videa alebo herných výkonoch. Jednoducho povedané, počet n...
Hry Najlepšie hry Oculus App Lab
Najlepšie hry Oculus App Lab
Ak ste vlastníkom náhlavnej súpravy Oculus, musíte byť informovaní o bočnom nakladaní. Sideloading je proces inštalácie neuloženého obsahu do náhlavne...
Hry Top 10 hier, ktoré sa dajú hrať na Ubuntu
Top 10 hier, ktoré sa dajú hrať na Ubuntu
Platforma Windows je jednou z dominujúcich platforiem pre hry kvôli obrovskému percentu hier, ktoré sa dnes vyvíjajú na natívnu podporu systému Window...