Jak nastavit HAProxy jako Load Balancer pro Nginx v CentOS 8

Jak Nastavit Haproxy Jako Load Balancer Pro Nginx V Centos 8



High Availability Proxy, také zkráceně HAProxy je lehký a rychlý nástroj pro vyrovnávání zátěže, který také funguje jako proxy server. Jako nástroj pro vyrovnávání zatížení hraje klíčovou roli při distribuci příchozího webového provozu na více webových serverů pomocí určitých kritérií. Tím je zajištěna vysoká dostupnost a odolnost proti chybám v případě, že existuje příliš mnoho souběžných požadavků, které mohou přetížit jeden webový server.

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

Poté 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 aktualizace

Dále nainstalujte HA Proxy podle obrázku

# mňam instalace hapoxy

Po úspěšné instalaci přejděte do adresáře haproxy.

# CD / atd / hapoxy

Osvě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.bak

Dále pokračujte a otevřete konfigurační soubor

protože haproxy.cfg

Ujistě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.conf

Ujistě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.conf

Vložte následující řádky, uložte a ukončete

local2.=info / byl / log / haproxy-access.log #Pro protokol přístupu
mí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 rsyslog

Poté spusťte a povolte HAProxy

# systemctl spusťte rsyslog
# systemctl povolí rsyslog

Ověřte, že HAProxy běží

# systemctl status rsyslog

Krok 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 aktualizace

Další instalace  EPEL (Extra Packages for Enterprise Linux)

# mňam instalace teplé uvolnění

Chcete-li nainstalovat Nginx, spusťte příkaz:

# mňam instalace nginx

Dá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.html

Pro server_02

# echo 'server_02. Ahoj! Vítejte na druhém webovém serveru' > index.html

Aby se změny projevily, restartujte Nginx

# systemctl restartujte nginx

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

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

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