Vyrovnávací paměť laku je bezplatný open source, moderní a vysoce výkonný akcelerátor webových aplikací. Jedná se o rychlý reverzní HTTP proxy, který ukládá obsah do mezipaměti pro urychlení výkonu vašeho webového serveru tím, že ukládá webový obsah do paměti serveru – do mezipaměti. Je nakonfigurován tak, aby běžel před původním serverem, jako je Apache (HTTPD ) webový server.
Když klient požaduje obsah, lakovat přijímá HTTP požadavek, odešle požadavek na zdrojový server, uloží vrácené objekty do mezipaměti a odpoví na požadavek klienta. Až si klient příště vyžádá stejný obsah, Varnish jej naservíruje z mezipaměti. Tímto způsobem snižuje dobu odezvy a spotřebu šířky pásma sítě u budoucích ekvivalentních požadavků.
Lak funguje také jako HTTP směrovač požadavků, firewall webových aplikací, nástroj pro vyrovnávání zatížení a další. Konfiguruje se pomocí flexibilního jazyka konfigurace laku (VCL ), který je rozšiřitelný pomocí Varnish Modules (známé také jako VMOD ), podporuje Edge Side Within (ESL ), komprese a dekomprese Gzip a mnoho dalšího.
V tomto článku se dozvíte, jak nainstalovat Apache HTTPD webový server a Varnish Cache 6 na novém CentOS/RHEL 8 serveru, včetně konfigurace Varnish tak, aby se spouštěl před HTTPD server.
Předpoklady:
- Server s instalací CentOS 8
- Server s instalací RHEL 8 s povoleným předplatným Red Hat ve vašem systému.
Krok 1:Instalace webového serveru Apache na CentOS/RHEL 8
1. Začněte aktualizací všech nainstalovaných softwarových balíků v systému pomocí příkazu DNF.
# dnf update
2. Poté spusťte následující příkaz a nainstalujte Apache HTTP webový server z AppStream úložiště.
# dnf install httpd
3. Jakmile je instalace dokončena, spusťte službu httpd, povolte její automatické spouštění během spouštění systému a pomocí příkazu systemctl zkontrolujte její stav, abyste potvrdili, že je spuštěna.
# systemctl start httpd # systemctl enable httpd # systemctl status httpd
Ověřte stav webového serveru Apache
4. Ve výchozím nastavení CentOS/RHEL 8 obsahuje plně uzamčený firewall (spusťte firewall-cmd –state potvrdit). Chcete-li uživatelům umožnit přístup k webům nebo aplikacím běžícím přes HTTP, musíte otevřít přístup ke službě HTTP v bráně firewall a také znovu načtěte nastavení brány firewall pro použití nových změn.
# firewall-cmd --zone=public --permanent --add-service=http # firewall-cmd --reload
Krok 2:Instalace mezipaměti Varnish Cache 6.4 na CentOS/RHEL 8
5. Nyní, když je spuštěn webový server Apache, můžete pokračovat v instalaci Varnish Cache v systému pomocí následujícího příkazu.
# dnf module install varnish
Nainstalujte mezipaměť Varnish na CentOS 8
6. Po úspěšné instalaci můžete ověřit verzi Varnish nainstalován ve vašem systému.
# varnishd -V
Zkontrolujte verzi laku
7. Dále se hlavní spustitelný soubor nainstaluje jako /usr/sbin/varnishd . Konfigurační soubory Varnish jsou také uloženy pod /etc/varnish adresář, kde:
- /etc/varnish/default.vcl – je hlavní konfigurační soubor laku napsaný pomocí VCL.
- /etc/varnish/secret – je tajný spis laku.
8. Nyní spusťte lakovací službu, prozatím povolte její automatické spouštění během spouštění systému v případě restartu serveru a zkontrolujte její stav, abyste se ujistili, že funguje následovně.
# systemctl start varnish # systemctl enable varnish # systemctl status varnish
Ověřte stav mezipaměti laku
Krok 3:Konfigurace Apache pro práci s mezipamětí laku
9. Nyní je čas nakonfigurovat Varnish Cache běžet před službou Apache. Ve výchozím nastavení je server Apache nakonfigurován tak, aby naslouchal na portu 80 , toto je definováno v hlavním konfiguračním souboru /etc/httpd/conf/httpd.conf .
Otevřete jej pro úpravy pomocí svého oblíbeného textového editoru.
# vi /etc/httpd/conf/httpd.conf
Hledejte Poslouchat parametr. Chcete-li spustit Varnish před serverem Apache byste měli změnit výchozí port 80 na 8080 (nebo jakýkoli jiný port dle vašeho výběru), jak je znázorněno na následujícím snímku obrazovky.
Tento port bude později přidán jako port backendového serveru do konfiguračního souboru Varnish.
Změnit výchozí port Apache
Také konfigurace virtuálního hostitele pro každou webovou stránku/aplikaci, která bude sloužit prostřednictvím Varnish by měl být nakonfigurován tak, aby naslouchal výše uvedenému portu. Zde je konfigurace pro náš testovací web (/etc/httpd/conf.d/tecmint.lan.conf ).
<VirtualHost *:8080> DocumentRoot "/var/www/html/tecmint.lan/" ServerName www.tecmint.lan # Other directives here </VirtualHost>
Konfigurace virtuálního hostitele Apache
Důležité :Abyste zabránili použití výchozí testovací stránky HTTP serveru Apache, zakomentujte všechny řádky v souboru /etc/httpd/conf.d/welcome.conf nebo jednoduše smažte soubor.
# rm /etc/httpd/conf.d/welcome.conf
10. Dále otestujte syntaxi konfigurace httpd na případné chyby. Pokud je vše v pořádku, restartujte službu httpd a použijte nové změny.
# httpd -t # systemctl restart httpd
Zkontrolujte konfiguraci Apache
Konfigurace laku pro Systemd
11. Chcete-li nasadit lak před HTTPD , stačí jej nakonfigurovat tak, aby naslouchal požadavkům klientů na výchozím portu HTTP 80 jak je vysvětleno níže.
Všimněte si, že v Varnish Cache 6.0 a vyšší, musíte nastavit port lak server naslouchá v souboru služby Varnish pro systemd . Nejprve jej otevřete pro úpravy.
# systemctl edit --full varnish
Hledejte ExecStart řádku a poté změňte hodnotu -a
přepínač (který určuje, jak lak naslouchá adrese a portu) z :6081
na :80
jak je uvedeno na následujícím snímku obrazovky.
Důležité je, že pokud nezadáte adresu, lak bude poslouchat na všech dostupných IPv4 a IPv6 rozhraní aktivní na serveru.
ExecStart=/usr/sbin/varnishd -a :6081 -f /etc/varnish/default.vcl -s malloc,256m
Změňte port pro naslouchání laku
Uložte změny v souboru a ukončete.
Konfigurace serverů Varnish Backend pomocí VCL
12. Nyní musíte nakonfigurovat původní server, známý v Varnish terminologie jako backend . Je to server, který rozumí HTTP, se kterým Varnish mluví, aby načetl obsah – v tomto případě httpd. Konfiguruje se v hlavním konfiguračním souboru /etc/varnish/default.vcl .
# vi /etc/varnish/default.vcl
K dispozici je výchozí backend konfigurační sekce nazvaná výchozí . Můžete změnit „výchozí ” na server1 (nebo jakýkoli název podle vašeho výběru, aby vyhovoval vašim standardům prostředí). Ve výchozím nastavení je hostitel parametr ukazuje na localhost , za předpokladu, že backend server běží na localhost.
Poté nastavte port na 8080 (port, který jste definovali v konfiguračním souboru virtuálního hostitele Apache), jak je znázorněno na snímku obrazovky.
backend server1 { .host = "127.0.0.1"; .port = "8080"; }
Konfigurace serverů Varnish Backend
Pokud váš backend server běží na jiném hostiteli, například na jiném serveru s adresou 10.42.1.10 a poté hostitel parametr by měl ukazovat na tuto IP adresu.
backend server1 { .host = "10.42.1.10"; .port = "8080"; }
Uložte soubor a zavřete jej.
13. Po provedení všech nezbytných změn týkajících se Laku , znovu načtěte systemd konfigurace správce, aby se projevily nové změny v souboru služby Varnish, a také restartování služby Varnish, aby se použily celkové změny.
# systemctl daemon-reload # systemctl restart varnish
14. V tuto chvíli lak a Apache by nyní měl naslouchat na portu 80 a 8080 resp. Můžete to potvrdit pomocí příkazu socket statistics.
# ss -tpln
Zkontrolujte Varnish a Apache Listening Sockets
Krok 4:Testování mezipaměti Varnish a nastavení Apache
14. Chcete-li otestovat Varnish Cache-HTTPD nastavení, otevřete webový prohlížeč a procházejte se pomocí IP serveru nebo FQDN jak je znázorněno na následujícím snímku obrazovky.
http://10.42.0.144 OR http://www.tecmin.lan
Poté zkontrolujte, zda se webové stránky zobrazují prostřednictvím Vyrovnávací paměti laku jak následuje. Zkontrolujte HTTP záhlaví kliknutím pravým tlačítkem na zobrazenou webovou stránku, vyberte Zkontrolovat otevřete nástroje pro vývojáře a poté klikněte na Síť kartu a znovu načíst strana. Poté vyberte požadavek na zobrazení záhlaví HTTP a potvrďte to, jak je znázorněno na následujícím snímku obrazovky.
Zkontrolujte, zda je webová stránka poskytována prostřednictvím mezipaměti laku
Případně to můžete ověřit spuštěním následujícího příkazu curl.
# curl -I http:///10.42.0.144 OR #curl -I http:///www.tecmint.lan
Zkontrolujte Varnish a Apache Setup
Užitečné obslužné programy Varnish Cache
15. Na závěr tohoto průvodce se podíváme na některé z užitečných programů, které Varnish Cache distribuce přichází s. Zahrnují nástroje pro správu mezipaměti laku, zobrazení podrobných záznamů protokolu a zobrazení statistik výkonu laku, jak je popsáno níže.
varnishadm
První je varnishadm který se používá ke správě běžícího Laku instance. Vytvoří připojení rozhraní příkazového řádku k lak . Může ovlivnit spuštěnou instanci Varnish spuštěním a zastavením lak , změna konfiguračních parametrů, opětovné načtení VCL, výpis backendů a další.
# varnishadm > backend.list
Spravujte lak pomocí nástroje Varnishadm
Pro více informací si přečtěte manlakadm .
lak log
Dalším programem je lakovací protokol který se používá pro přístup k údajům specifickým pro požadavek (tj. informace o konkrétních klientech a požadavcích). Poskytuje velké množství informací, proto je obvykle nutné je filtrovat.
# varnishlog
Varnishlog – Kontrola výkonu mezipaměti laku
Pro více informací si přečtěte manlaklog .
status laku
Máme také status laku (statistiky laku ), který se používá pro přístup k celkovým statistikám, jako je počet celkových požadavků, počet objektů a další.
# varnishstat
lakstat – Zobrazit statistiku laku
Pro více informací si přečtěte manlakstat .
lak
Pak máme lak což je nástroj, který přečte lak log a představuje průběžně aktualizovaný seznam nejčastěji se vyskytujících položek protokolu.
# varnishtop
laková deska – Čte protokoly laku
Další informace najdete v mužském laku .
lakovač
Další užitečnou pomůckou je varnishhist (historie laku ) nástroj čte protokoly Varnish a předkládá průběžně aktualizovaný histogram zobrazující rozložení posledních N žádosti jejich zpracováním.
# varnishhist
lakstat – Zobrazit historii protokolu laku
Pro více informací si přečtěte manlakhist .
Tady to máš! Úspěšně jste nasadili Cache laku k urychlení obsahu webových aplikací poskytovaných pomocí Apache HTTP Server na CentOS/RHEL 8 .
Máte-li k tomuto tématu nějaké dotazy nebo myšlenky, které byste chtěli sdílet, použijte níže uvedený formulář pro zpětnou vazbu. Další informace naleznete v dokumentaci mezipaměti Varnish Cache 6.0.
Pokud chcete povolit HTTPS na svém webu si přečtěte náš další článek, který ukáže, jak povolit SSL/TLS pro mezipaměť laku pomocí Hitch na CentOS/RHEL 8 .
Sharing is Caring…Sdílet na FacebookuSdílet na TwitteruSdílet na LinkedinSdílet na Redditu