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

Ako Nastavit 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 záťaže, ktorý slúži aj ako proxy server. Ako nástroj na vyrovnávanie zaťaženia hrá kľúčovú úlohu pri distribúcii prichádzajúcej webovej návštevnosti medzi viaceré webové servery pomocou určitých kritérií. Zabezpečuje tak vysokú dostupnosť a odolnosť voči chybám v prípade príliš veľkého počtu súbežných požiadaviek, ktoré môžu preťažiť jeden webový server.

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ženia

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

Po úspešnej inštalácii prejdite do adresára haproxy.

# cd / atď / 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.cfg súbor premenovaním.

# mv haproxy.cfg  haproxy.cfg.bak

Ďalej pokračujte a otvorte konfiguračný súbor

pretože haproxy.cfg

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

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

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

local2.=info / bol / log / haproxy-access.log #Pre denník prístupu
miestne2.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 rsyslog

Potom spustite a povoľte HAProxy

# systemctl spustí rsyslog
# systemctl povoliť rsyslog

Overte, či je spustený HAProxy

# systemctl status rsyslog

Krok 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ľnenie

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

Pre server_02

# ozvena 'server_02. Ahoj! Vitajte na druhom webovom serveri' > index.html

Aby sa zmeny prejavili, reštartujte Nginx

# systemctl reštartujte nginx

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

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

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