GNU/Linux >> Znalost Linux >  >> Linux

Nastavte vyrovnávání zátěže pomocí HAProxy, Nginx a Keepalived v Linuxu

V konvenčním způsobu hostování serveru nebo webové stránky je server hostován prostřednictvím jediného HTTP serveru. Když klienti narazí na server, jsou na serveru povoleni. Ale co se stane, když více uživatelů, ještě více; tisíce klientů, narazili na stránky pro nějaký dotaz? Co se stane, když se server zhroutí? Jak bude jediný server vyrovnávat zátěž? Abychom odpověděli na všechny tyto otázky, můžeme použít termín „vyrovnávání zátěže“. Pokud hledáte autentické nástroje pro správu provozu vašeho serveru, určitě můžete nastavit HAProxy, Nginx a Keepalived na Linuxu pro vyrovnávání zátěže.

Základy HAProxy, Nginx a Keepalived

Nginx je dobře známý pro své vyvažování zátěže a proxy služby. Na serverech pro vyrovnávání zatížení se klienti připojují k serveru prostřednictvím nástroje pro vyrovnávání zatížení namísto přímého připojení k serveru. Použití Nginx, HAProxy a Keepalived funguje dobře pro vyrovnávání zátěže v Linuxu. Když dojde k selhání serveru, nástroj pro vyrovnávání zatížení připojí klienty k jinému serveru, který je online.

HAProxy je bezplatný a open-source nástroj pro vyrovnávání zátěže pro webové servery HTTP i TCP. Je napsán v programovacím jazyce C a licencován pod veřejnou licencí GNU. Je vysoce kompletní a snadno nastavitelný pro vyrovnávání zátěže v Linuxu. Termín HAProxy znamená High Availability proxy nástroj. Můžete nasadit nástroj HAProxy, abyste zlepšili výkon serveru, dostupnost a vyrovnávání zátěže.

Nástroj Keepalived funguje jako prostředník mezi dvěma servery, který může přesměrovat klienta z jednoho serveru na druhý, když je některý z nich mimo provoz. Keepalived funguje v redundantním protokolu virtuálního routeru pro vyrovnávání zátěže a omezování problému se selháním serveru. Použití HAProxy je dobré pro vyrovnávání zátěže a zajištění serveru vždy v provozu.

Neexistuje tedy žádná záruka, že HAProxy zůstane vždy naživu. Zde přichází Keepalived pro zálohování vašeho HAProxy. Dokáže distribuovat požadavek klienta na vzdáleně umístěné servery a zpracovat vyrovnávání zátěže vrstvy 4, 7 (přepravní a aplikační vrstva). Navíc HAProxy dokáže zpracovat seznamy řízení přístupu, backend a frontend terminologii.

Vyrovnávání zátěže pomocí HAProxy, Nginx a Keepalived v Linuxu

Protože jsme již hodně mluvili o HAproxy, Nginx a nástroji Keepalived pro Linux, pojďme se vrhnout na tutoriál. V tomto příspěvku uvidíme, jak nastavit vyrovnávání zátěže s HAProxy, Nginx a Keepalived v Linuxu. K tomuto příspěvku budeme potřebovat základní znalosti na úrovni serveru a základní schopnost používat Linux.

Krok 1:Nainstalujte Nginx na Linux pro vyrovnávání zátěže

Vzhledem k tomu, že uvidíme způsoby, jak zvýšit výkon našeho serveru, vyvažování zátěže a lepší manipulaci s klienty, instalace webového serveru Nginx HTTP by byla prvním krokem k zahájení procesu. Instalace webového serveru Nginx je snadná a přímočará a k instalaci webového serveru Nginx na váš počítač se systémem Linux můžete použít následující příkazy.

  • Nainstalujte webový server Nginx na Ubuntu/Debian Linux
aktualizace sudo apt
instalace sudo apt nginx
--

  • Pro instalaci Nginx na Fedora/Red Hat Linux spusťte následující příkazy
yum -y nainstalujte nginx

Po instalaci serveru Nginx nakonfigurujeme, aktivujeme a spustíme server na vašem počítači. Projděte si prosím tento příspěvek, abyste viděli, jak začít se serverem Nginx v systému Linux.

Krok 2:Nainstalujte nástroj HAproxy Load Balancer v systému Linux

Po instalaci a konfiguraci serveru Nginx na vašem počítači se systémem Linux může fungovat dobře jako server na vašem počítači nebo síti. Ale protože se zde snažíme vytvořit server pro vyrovnávání zátěže, nyní nainstalujeme a nakonfigurujeme nástroj HAproxy na náš systém.

1. Nainstalujte a nakonfigurujte HAproxy na Ubuntu pro vyrovnávání zátěže

Než nainstalujete HAProxy do svého systému, možná budete chtít zkontrolovat, zda jsou služby HAProxy již ve vašem systému nebo ne.

sudo apt show haproxy

Nyní přidejte úložiště HAProxy do svého systému prostřednictvím balíčků PPA. Jakmile PPA stáhne úložiště, aktualizujte své systémové úložiště.

sudo add-apt-repository ppa:vbernat/haproxy-1.7
aktualizace sudo apt

Nakonec spusťte na svém systému Ubuntu/Debian Linux následující příkazy, abyste získali HAProxy do systému. Po instalaci HAProxy zkontrolujte verzi HAProxy, abyste se ujistili, že byla na váš počítač správně nainstalována.

sudo apt install -y haproxy
haproxy -v

Po dokončení instalace HAProxy na váš počítač se systémem Linux nyní upravíme konfigurační skript pro nastavení HAProxy s naším serverem. Zde upravíme několik konfiguračních skriptů HAProxy a buďte opatrní při úpravách těchto skriptů a vytváření zálohy těchto souborů, abyste obnovili výchozí nastavení, pokud se něco pokazí.

Nejprve spusťte následující příkaz na vašem terminálovém shellu s přístupem root a upravte konfigurační skript HAProxy. Zde používám nástroj editoru skriptů Nano a vy můžete použít jakýkoli ze svých oblíbených nástrojů.

sudo nano /etc/haproxy/haproxy.cfg

Nyní zkopírujte a vložte následující řádky skriptu do souboru, poté soubor uložte a zavřete. Následující řádky skriptu definují frontend a backend status s HAProxy. Zadejte prosím podrobnosti o svém serveru do názvu serveru, IP adresy a dalších polí pověření.

frontend http_front
bind *:80
stats uri /haproxy?stats
default_backend http_back

backend http_back
balance roundrobin
server :80 kontrola
server :80 kontrola

Nyní spusťte následující příkaz v prostředí terminálu a upravte a nakonfigurujte skript HAproxy.

sudo nano /etc/haproxy/haproxy.cfg

Pro nastavení HAproxy použijte následující konfigurační skript.

frontend http_front
bind *:80
stats uri /haproxy?stats
acl url_blog path_beg /blog
use_backend blog_back if url_blog
default_backend http_back

backend http_back
vyvážení roundrobin
server :80 kontrola
server :80 kontrola

backend blog_back
server :80 kontrola

Po dokončení konfigurace můžete nyní restartovat nástroj HAProxy na vašem počítači se systémem Linux spuštěním následujícího příkazu ovládání systému s přístupem root.

sudo systemctl status haproxy
sudo systemctl restart haproxy

Nyní můžete spustit příkaz uvedený níže s adresou vašeho serveru a zkontrolovat stav serveru.

http:///haproxy?stats

2. Nainstalujte a nakonfigurujte HAproxy na Fedoře

Instalace nástroje pro vyrovnávání zátěže HAProxy na Fedora Linux je něco podobného jako instalace na systémy Debian/Ubuntu. Nejprve aktualizujte systémové úložiště a poté spusťte příkaz DNF pro instalaci nástroje HAProxy na váš počítač se systémem Linux.

yum -y aktualizace
yum -y instalace haproxy

Jakmile instalace skončí, před provedením jakýchkoli změn spusťte následující příkaz a vytvořte zálohu konfiguračního skriptu.

cd /etc/haproxy/
mv haproxy.cfg haproxy.cfg_bac

Nyní můžete vytvořit nový konfigurační skript HAProxy spuštěním následujícího dotykového příkazu uvedeného níže. Poté skript upravte pomocí následujícího příkazu Nano.

dotkněte se haproxy.cfg
nano haproxy.cfg

Můžete zkopírovat a vložit následující konfigurační skript a poté soubor uložit a ukončit.

globální
protokol /dev/log local0
protokol /dev/log local1 upozornění
chroot /var/lib/haproxy
časový limit statistiky 30s
haproxy uživatele
skupinový haproxy
démon
výchozí hodnoty
globální protokol
režim http
možnost httplog
možnost dontlognull
časový limit připojení 5000
časový limit klienta 50 000
časový limit serveru 50 000

#frontend
#------------------------- --------
frontend http_front
bind *:80
stats uri /haproxy?stats
default_backend http_back

#round robin balancing backend http
#------------------------------------
backend http_back
vyvážení roundrobin
#balance lessconn
režim http
server webserver1 10.13.211.169:80 kontrola # ip_address_of_1st_centos_webserver
server webserver2 10.13.211._predress>oscent_211.158:80 kontrola webserveru

Po přidání skriptu do konfiguračního souboru nyní povolíme, spustíme a zkontrolujeme stav nástroje HAProxy na našem Fedora Linuxu.

systemctl povolit haproxy
systemctl spustit haproxy
systemctl stav haproxy

Můžete také zkontrolovat, zda HAProxy funguje ve vašem systému dobře nebo ne, a to stažením stavu HAProxy prostřednictvím webového prohlížeče.

http://10.13.211.194/haproxy?stats

Následující příkazy cURL také vrátí hloubkový stav serveru spolu se stavem HAProxy.

curl 10.13.211.194
curl 10.13.211.194

Krok 3:Nainstalujte Keepalived na Linux

Protože jsme již hovořili o Keepalived, tak zde přímo procházíme procesem instalace Keepalived na systémech Linux. Zde uvidíme způsoby instalace a konfigurace nástroje Keepalived na Fedoře a Debian Linuxu.

1. Nainstalujte a nakonfigurujte Keepalived na Ubuntu/Debian

Chcete-li nainstalovat nástroj pro vyrovnávání zátěže Keepalived na Ubuntu a další systémy Debian Linux, spusťte prosím následující příkaz, abyste získali základní nástroje pro sestavení ve svých systémech. Poté procházejte domovský adresář a spusťte příkaz wget dodaný níže ke stažení komprimovaného souboru Keepalived na souborovém systému.

sudo apt-get install build-essential libssl-dev
cd ~
wget http://www.keepalived.org/software/keepalived-1.2.19.tar.gz

Po dokončení stahování použijte k rozbalení souboru následující příkaz tar a poté procházejte extrahovaný adresář pomocí příkazu CD.

tar xzvf keepalived*
cd keepalived*

Nyní můžete spustit následující příkazy a nainstalovat nástroj Keepalived na váš systém Ubuntu.

./configure
make
sudo make install

Když instalace skončí, je čas upravit konfiguraci pro nastavení Keepalived s naším serverem. Chcete-li upravit konfigurační skript, spusťte následující příkaz uvedený níže.

sudo nano /etc/init/keepalived.conf

Když se skript otevře, zkopírujte a vložte níže uvedený skript.

popis "služba vyrovnávání zátěže a vysoká dostupnost"

spuštění na úrovni běhu [2345]
zastavení na úrovni běhu [!2345]

Nyní spusťte mkdir vytvořte nový konfigurační skript pro nástroj Keepalived a poté jej naplňte konfiguračním skriptem.

sudo mkdir -p /etc/keepalived
sudo nano /etc/keepalived/keepalived.conf

K vyplnění konfiguračního souboru Keepalived použijte následující řádky skriptu.

vrrp_script chk_haproxy {
script "pidof haproxy"
interval 2
}

vrrp_instance VI_1 {
rozhraní eth1
stav MASTER
priorita 200

virtual_router_id 33
unicast_src_ip primary_private_IP
unicast_peer {
secondary_private_IP
}


}

Nyní upravte konfigurační skript Keepalived z etc a přidejte do svého skriptu následující řádky.

sudo nano /etc/keepalived/keepalived.conf

Řádky skriptu, které budeme muset vložit do konfiguračního souboru.

vrrp_script chk_haproxy {
script "pidof haproxy"
interval 2
}

vrrp_instance VI_1 {
rozhraní eth1
ZÁLOHOVÁNÍ stavu
priorita 100

virtual_router_id 33
unicast_src_ip sekundární_private_IP
unicast_peer {
primární_soukromá_IP
}

ověření {
auth_type PASS
heslo auth_pass
}

track_script {
chk_haproxy
}

notify_master /etc/keepalived/master. sh
}

Po konfiguraci skriptů pro Keepalived nyní vytvoříme sekundární konfigurační skript nástroje pro vyrovnávání zatížení a naplníme skript potřebnými řádky skriptu.

sudo nano /etc/keepalived/keepalived.conf

Spusťte příkaz nano pro úpravu skriptu a naplňte skript řádky uvedenými níže. Jakmile je soubor aktualizován, uložte a zavřete skript.

vrrp_script chk_haproxy {
script "pidof haproxy"
interval 2
}

vrrp_instance VI_1 {
rozhraní eth1
ZÁLOHOVÁNÍ stavu
priorita 100

virtual_router_id 33
unicast_src_ip sekundární_private_IP
unicast_peer {
primární_soukromá_IP
}

ověření {
auth_type PASS
heslo auth_pass
}

track_script {
chk_haproxy
}

notify_master /etc/keepalived/master. sh
}

2. Nainstalujte a nakonfigurujte Keepalived na Fedoře

Instalace nástroje Keepalived na systémy Fedora a Red Hat Linux je velmi podobná instalaci do distribucí Debianu. Nejprve budete muset aktualizovat své systémové úložiště a poté spustit následující příkaz yum pro instalaci nástroje Keepalived.

yum update
yum install -y keepalived

Po dokončení instalace nyní upravíme konfigurační skript Keepalived pro úpravu nastavení serveru pomocí Keepalived. Než provedeme jakékoli změny, vytvoříme zálohu konfiguračního skriptu Keepalived.

Spuštěním následujících příkazů na vašem shellu jeden po druhém vytvořte záložní soubor, vytvořte konfigurační soubor a upravte konfigurační skript. Po konfiguraci nástroje jej použijeme k nastavení našeho serveru pro vyrovnávání zátěže v Linuxu.

mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf_bac
dotkněte se /etc/keepalived/keepalived.conf
vim /etc/keepalived/keepalived.conf

Když se konfigurační skript otevře, vyplňte soubor řádky skriptu uvedenými níže. Možná budete muset provést změny v souboru skriptu podle IP adresy vašeho serveru, portu, názvu a dalších podrobností.

global_defs {
notifikační_e-mail {
www.ubuntupit.com
[email protected]
}
notification_email from [email protected]
smtp_server 10.13 .211.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}

vrrp_instance VI_1 {
stav MASTER
rozhraní eth0 #sem vložte název rozhraní. [zobrazení názvu rozhraní:$ ip a ]
virtual_router_id 51
priorita 101 # 101 pro master. 100 za zálohu. [priorita master> priorita zálohování]
advert_int 1
ověření {
auth_type PASS
auth_pass 1111 #password
}
virtual_ipaddress {
10.13.211.10 # použijte virtuální IP adresu.
}
}

Po konfiguraci skriptů Keepalived spusťte na svém terminálovém shellu následující systémové řídicí příkazy s přístupem root, abyste spustili, povolili a zkontrolovali stav Keepalived na vašem počítači se systémem Linux.

systemctl start keepalived
systemctl povolit keepalived
systemctl status keepalived

Pokud vše půjde správně, následující příkaz vrátí stav serveru pro všechna vaše IP umístění, což zajistí, že váš Linuxový server bude mít kompletní nastavení pro vyrovnávání zátěže s vysokou dostupností.

$ while true; dělat; curl 10.13.211.10; spánek 1; hotovo;

Poslední slova

Pokud jste správce systému, víte, jak důležité je, aby byl váš server vždy funkční a dostupný klientům z celého světa. Pokud je váš server zaneprázdněn, většinou se doporučuje povolit mechanismus vyrovnávání zátěže.

Server může být rychlý a přístupný se spoustou zásahů najednou. V celém příspěvku jsem prošel základy HAProxy, Keepalived a Nginx. Ilustroval jsem koncept a metody, jak nastavit HAProxy, Nginx a Keepalived pro vyrovnávání zátěže v Linuxu.

Sdílejte jej prosím se svými přáteli a linuxovou komunitou, pokud považujete tento příspěvek za užitečný a informativní. Můžete také napsat své názory na tento příspěvek do sekce komentářů.


Linux
  1. Jak nainstalovat a nastavit Nginx, WordPress a Mysql 8 v Rocky Linux/Centos 8

  2. Monitorujte Linuxový server pomocí Prometheus a Grafana

  3. Nginx vyrovnávání zátěže

  1. Nastavení serveru Kali http

  2. Jak nainstalovat a nastavit cPanel na linuxovém serveru

  3. Jak nastavit jednoduchou aplikaci nodejs s nginx a pm2 na serveru ubuntu

  1. Jak zpevnit a zabezpečit webový server NGINX v Linuxu

  2. Jak nastavit vysoce dostupný NGINX s KeepAlived v Linuxu

  3. Jak nastavit Raspberry Pi jako záložní server pro stolní počítače se systémem Linux a Windows