HAProxy

Jak nastavit HAProxy jako Load Balancer pro Nginx v CentOS 8

Jak nastavit HAProxy jako Load Balancer pro Nginx v CentOS 8
Proxy s vysokou dostupností, také zkráceně HAProxy, je lehký a rychlý nástroj pro vyrovnávání zátěže, který funguje také jako proxy server. Jako nástroj pro vyrovnávání zatížení hraje zásadní roli při distribuci příchozího webového provozu mezi více webových serverů pomocí určitých kritérií. Tímto způsobem zajišťuje vysokou 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ů napájených 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 pro vyrovnávání zatížení a upravte soubor / etc / hosts tak, aby obsahoval názvy hostitelů a adresy IP dvou webových serverů, jak je znázorněno

$ vim / etc / hosts
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 / etc / hosts soubor s IP adresou a názvem hostitele nástroje pro vyrovnávání zatížení

3.17.12.132 vyvažovač zátěže

Poté potvrďte, že můžete provést ping na nástroj pro vyrovnávání zatížení ze serveru_01

A podobně od server_02

Ujistěte se také, že můžete provést ping na servery z nástroje pro vyrovnávání zatížení.

Perfektní ! všechny servery mohou komunikovat s nástrojem pro vyrovnávání zatížení!

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, budeme jej instalovat pomocí správce balíčků yum nebo dnf.

Ale jako vždy nejprve aktualizujte systém

# yum aktualizace

Dále nainstalujte HA Proxy, jak je znázorněno

# yum nainstalovat haproxy

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

# cd / etc / haproxy

Osvědčené postupy vyžadují, abychom před provedením jakýchkoli změn zálohovali jakýkoli konfigurační soubor.  Takže zálohujte haproxy.srov přejmenováním souboru.

# mv haproxy.CFG haproxy.srov.bak

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

vim haproxy.srov

Nezapomeňte provést úpravu podle obrázku

#---------------------------------------------------------------------
# Globální nastavení
#---------------------------------------------------------------------
globální
protokol 127.0.0.1 lokální2 # konfigurace protokolu
 
chroot / var / lib / haproxy
pidfile / var / run / haproxy.pid
maxconn 4000
haproxy uživatele #Haproxy běžící pod uživatelem a skupinou „haproxy“
skupina haproxy
démon
 
# zapnout statistiku unixového soketu
stats socket / var / lib / haproxy / stats
 
#---------------------------------------------------------------------
# běžné výchozí hodnoty, které budou mít všechny sekce „poslech“ a „backend“
# použít, pokud není uvedeno v jejich bloku
#---------------------------------------------------------------------
výchozí hodnoty
režim http
přihlásit se globálně
možnost httplog
možnost dontlognull
volba http-server-zavřít
možnost forwardfor kromě 127.0.0.0/8
možnost redispečinku
opakuje 3
časový limit požadavku http 10 s
fronta časového limitu 1 m
timeout connect 10s
timeout klient 1m
server časového limitu 1m
časový limit http-keep-alive 10 s
kontrola časového limitu 10 s
maxconn 3000
 
#---------------------------------------------------------------------
#HAProxy Monitoring Config
#---------------------------------------------------------------------
poslouchat haproxy3-monitoring *: 8080 # Monitorování Haproxy běží na portu 8080
režim http
možnost forwardfor
možnost httpclose
statistiky povoleny
statistiky ukazují legendy
aktualizace statistik 5 s
stats uri / stats #URL pro monitorování HAProxy
statistiky říše Haproxy \ Statistiky
stats auth Password123: Password123 # Uživatel a heslo pro přihlášení na monitorovací panel
stats admin if TRUE
default_backend app-main # Toto je volitelně pro monitorování backendu
 
#---------------------------------------------------------------------
# Konfigurace FrontEnd
#---------------------------------------------------------------------
frontend hlavní
vazba *: 80
volba http-server-zavřít
možnost forwardfor
default_backend hlavní aplikace
 
#---------------------------------------------------------------------
# BackEnd round robin jako algoritmus vyvážení
#---------------------------------------------------------------------
back-end hlavní aplikace
zůstatek Roundrobin # Balance Algoritmus
volba httpchk HEAD / HTTP / 1.1 \ r \ nHost: \ localhost
# Zkontrolujte, zda je serverová aplikace funkční a zda je zdravá - 200 stavových kódů
server server_01 3.19.229.234: 80 kontrola # Nginx1
server server_02 3.17.9.217: 80 kontrola # Nginx2

Nezapomeňte upravit název hostitele a IP adresy webových serverů, jak je uvedeno v posledních dvou řádcích. Uložte změny a ukončete.

Dalším krokem bude konfigurace Rsyslog, aby bylo možné zaznamenávat statistiky HAProxy.

# vim / etc / rsyslog.konf

Nezapomeňte odkomentovat 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.konf

# vim / etc / rsyslog.d / haproxy.konf

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

místní2.= info / var / log / haproxy-access.log #Pro přístupový protokol
místní2.upozornění / var / log / haproxy-info.log #Pro informace o službě - backend, loadbalancer

Aby se změny projevily, restartujte démona rsyslog, jak je znázorněno:

# systemctl restart rsyslog

Poté spusťte a povolte HAProxy

# systemctl start rsyslog
# systemctl povolit rsyslog

Ověřte, zda je spuštěna aplikace HAProxy

# systemctl status rsyslog

Krok 3: Nainstalujte a nakonfigurujte Nginx

Jedinou zbývající částí je instalace Nginx. Přihlaste se ke každému ze serverů a nejprve aktualizujte systémové balíčky:

# yum aktualizace

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

# yum install epel-release

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

# yum nainstalovat nginx

Dále spusťte a povolte Nginx

# systemctl start nginx
# systemctl povolit nginx

Poté se chystáme upravit index.soubor html v obou případech, aby bylo možné demonstrovat nebo simulovat, jak je nástroj pro vyrovnávání zatížení schopen distribuovat webový provoz mezi oběma servery.

Pro server_01

# echo "server_01. Ahoj ! Vítejte na prvním webovém serveru "> indexu.html

Pro server_02

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

Chcete-li provést změny, restartujte Nginx

# systemctl restart nginx

Krok 4: Testování, zda funguje nástroj pro vyrovnávání zatížení

Konečně jsme v bodě, kde chceme zjistit, zda konfigurace funguje. Přihlaste se tedy do nástroje pro vyrovnávání zatížení a opakovaně spusťte příkaz curl

# zvlnění 3.17.12.132

Měli byste dostat střídavý výstup na terminálu zobrazující hodnotu indexu.html ze server_01 a server_02

Nyní otestujeme pomocí webového prohlížeče. Procházejte IP adresu nástroje pro vyrovnávání zatížení

http: // load-balancer-IP-adresa

Na první stránce se zobrazí obsah kteréhokoli z webových serverů


Nyní obnovte webovou stránku a zkontrolujte, zda zobrazuje obsah z jiného webového serveru

Perfektní ! Vyvážení zátěže rozděluje provoz IP rovnoměrně mezi dva webové servery !
Tím je zakončen tento návod, jak nainstalovat a konfigurovat HAProxy na CentOS 8. Vaše zpětná vazba bude velmi oceněna.

Hry Top 5 karet pro zachycení hry
Top 5 karet pro zachycení hry
Všichni jsme viděli a milovali streamování her na YouTube. PewDiePie, Jakesepticye a Markiplier jsou jen někteří z nejlepších hráčů, kteří vydělali mi...
Hry Jak vyvíjet hru na Linuxu
Jak vyvíjet hru na Linuxu
Před deseti lety by jen málo uživatelů Linuxu předpovídalo, že jejich oblíbený operační systém bude jednoho dne populární herní platformou pro komerčn...
Hry Porty komerčních her s otevřeným zdrojovým kódem
Porty komerčních her s otevřeným zdrojovým kódem
Zdarma, s otevřeným zdrojovým kódem a multiplatformní herní enginy lze hrát staré i některé z poměrně nedávných herních titulů. Tento článek uvede sez...