Vyrovnávací paměť laku (běžně označované jako lak ) je open source, výkonný a rychlý reverzní proxy HTTP akcelerátor s moderní architekturou a flexibilním konfiguračním jazykem. Být reverzní proxy jednoduše znamená, že jde o software, který můžete nasadit před váš webový server (což je původní server nebo backend), jako je Nginx , přijímat požadavky HTTP klientů a předávat je původnímu serveru ke zpracování. A doručuje odpověď z původního serveru klientům.
Lak funguje jako prostředník mezi Nginx a klienty ale s určitými výkonnostními výhodami. Jeho hlavním účelem je zrychlit načítání vašich aplikací tím, že funguje jako modul mezipaměti. Přijímá požadavky od klientů a předává je jednou backendu, aby se požadovaný obsah uložil do mezipaměti (uložení souborů a fragmentů souborů do paměti). Poté budou všechny budoucí požadavky na přesně podobný obsah obsluhovány z mezipaměti.
Díky tomu se vaše webové aplikace načítají rychleji a nepřímo zlepšuje celkový výkon vašeho webového serveru, protože Varnish bude poskytovat obsah z paměti místo toho, aby Nginx zpracovával soubory z úložného disku.
Kromě ukládání do mezipaměti Varnish má také několik dalších případů použití včetně směrovače požadavků HTTP a nástroje pro vyrovnávání zatížení, brány firewall webových aplikací a dalších.
lak se konfiguruje pomocí vysoce rozšiřitelného vestavěného jazyka konfigurace laku (VCL ), což vám umožňuje psát zásady, jak by se měly zpracovávat příchozí požadavky. Můžete jej použít k vytváření přizpůsobených řešení, pravidel a modulů.
V tomto článku projdeme kroky k instalaci Nginx webový server a Varnish Cache 6 na novém CentOS 8 nebo RHEL 8 server. RHEL 8 uživatelé by se měli ujistit, že aktivují předplatné redhat.
Chcete-li nastavit, dokončete LEMP stack místo instalace Nginx samotný webový server, podívejte se na následující průvodce.
- Jak nainstalovat LEMP Server na CentOS 8
- Jak nainstalovat LEMP Server na RHEL 8
Krok 1:Instalace webového serveru Nginx na CentOS/RHEL 8
1. CentOS/RHEL 8 dodává se s nejnovější verzí Nginx software webového serveru, takže jej nainstalujeme z výchozího úložiště pomocí následujících příkazů dnf.
# dnf update # dnf install nginx
2. Jednou Nginx nainstalován, musíte spustit, povolit a ověřit stav pomocí následujících příkazů systemctl.
# systemctl start nginx # systemctl enable nginx # systemctl status nginx
Ověřte stav služby Nginx
3. Pokud jste trochu zvědaví, můžete také zkontrolovat soket Nginx TCP, který standardně běží na portu 80, pomocí následujícího příkazu ss.
# ss -tpln
Zkontrolujte Nginx TCP Port
4. Pokud v systému používáte bránu firewall, nezapomeňte aktualizovat pravidla brány firewall, aby povolovala požadavky na webový server.
# firewall-cmd --zone=public --permanent --add-service=http # firewall-cmd --reload
Krok 2:Instalace Varnish Cache 6 na CentOS/RHEL 8
5. CentOS/RHEL 8 poskytuje Varnish Cache DNF modul ve výchozím nastavení, který obsahuje verzi 6.0 LTS (Dlouhodobá podpora ).
Chcete-li nainstalovat modul, spusťte následující příkaz.
# dnf module install varnish
Nainstalujte mezipaměť Varnish v CentOS 8
6. Po dokončení instalace modulu můžete potvrdit verzi Varnish nainstalován ve vašem systému.
# varnishd -V
Zkontrolujte verzi laku
7. Po instalaci Varnish Cache , hlavní spustitelný příkaz nainstalovaný pod /usr/sbin/varnishd a konfigurační soubory laku jsou umístěny v /etc/varnish/ .
Soubor /etc/varnish/default.vcl je hlavní konfigurační soubor laku napsaný pomocí VCL a /etc/varnish/secret je tajný soubor laku.
8. Dále spusťte Lakování povolte automatické spouštění během spouštění systému a potvrďte, že je v provozu.
# systemctl start varnish # systemctl enable varnish # systemctl status varnish
Ověřte mezipaměť laku na CentOS 8
Krok 3:Konfigurace Nginx pro práci s mezipamětí laku
9. V této části si ukážeme, jak nakonfigurovat Cache laku běžet před Nginx . Ve výchozím nastavení Nginx naslouchá na portu 80 , normálně je každý blok serveru (nebo virtuální hostitel) nakonfigurován tak, aby naslouchal na tomto portu.
Podívejte se například na výchozí blok serveru nginx nakonfigurovaný v hlavním konfiguračním souboru (/etc/nginx/nginx.conf ).
# vi /etc/nginx/nginx.conf
Vyhledejte sekci bloku serveru, jak je znázorněno na následujícím snímku obrazovky.
Konfigurace bloku serveru Nginx
10. Chcete-li spustit Varnish před Nginx , měli byste změnit výchozí port Nginx z 80 na 8080 (nebo jakýkoli jiný port dle vašeho výběru).
To by mělo být provedeno ve všech budoucích konfiguračních souborech serverových bloků (obvykle vytvořených pod /etc/nginx/conf.d/ ) pro weby nebo webové aplikace, které chcete zobrazovat prostřednictvím Varnish .
Například blok serveru pro náš testovací web tecmint.lan
je /etc/nginx/conf.d/tecmint.lan.conf a má následující konfiguraci.
server { listen 8080; server_name www.tecmint.lan; root /var/www/html/tecmint.lan/; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
Konfigurace bloku serveru Nginx
Důležité :Nezapomeňte zakázat výchozí blokování serveru komentářem jeho konfigurační sekce v /etc/nginx/nginx.conf soubor, jak je znázorněno na následujícím snímku obrazovky. To vám umožní spustit na vašem serveru další webové stránky/aplikace, jinak bude Nginx vždy směrovat požadavky na výchozí blok serveru.
Zakázat blokování serveru Nginx
11. Po dokončení konfigurace zkontrolujte konfigurační soubor, zda neobsahuje nějaké chyby, a restartujte službu Nginx, aby se použily poslední změny.
# nginx -t # systemctl restart nginx
Zkontrolujte syntaxi konfigurace Nginx
12. Dále pro příjem HTTP požadavky od klientů, musíme nakonfigurovat Lak spustit na portu 80 . Na rozdíl od dřívějších verzí Varnish Cache kde byla tato změna provedena v Laku soubor prostředí (který je nyní zastaralý), ve verzi 6.0 a výše.
Potřebujeme provést požadovanou změnu v souboru služeb Lak. Spuštěním následujícího příkazu otevřete příslušný soubor služby pro úpravy.
# systemctl edit --full varnish
Najděte následující řádek a změňte hodnotu -a
přepínač, který určuje adresu a port pro naslouchání. Nastavte port na 80 jak je znázorněno na následujícím snímku obrazovky.
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.
13. Dále musíte definovat backendový server, který lakuje navštíví a načte obsah z. To se provádí v hlavním konfiguračním souboru Varnish.
# vi /etc/varnish/default.vcl
Vyhledejte sekci výchozí konfigurace backendu a změňte řetězec „default ” na server1 (nebo jakýkoli název podle vašeho výběru, který bude reprezentovat váš původní server). Poté nastavte port na 8080 (nebo Nginx naslouchací port, který jste definovali v bloku serveru).
backend server1 { .host = "127.0.0.1"; .port = "8080"; }
Nastavit výchozí lakovací servery backend
Pro tuto příručku používáme lak a Nginx na stejném serveru. Pokud váš webový server Nginx běží na jiném hostiteli. Například jiný server s adresou 10.42.0.247 a poté nastavte .host
parametr, jak je znázorněno.
backend server1 { .host = "10.42.0.247"; .port = "8080"; }
Uložte soubor a zavřete jej.
14. Dále musíte znovu načíst systemd konfiguraci správce kvůli nedávným změnám v souboru služby Varnish, potom restartujte službu Varnish, aby se změny aplikovaly následovně.
# systemctl daemon-reload # systemctl restart varnish
15. Nyní potvrďte, že Nginx a Lak poslouchají na nakonfigurovaném TCP zásuvky.
# ss -tpln
Potvrďte porty Nginx a Varnish
Krok 4:Testování nastavení mezipaměti laku Nginx
16. Dále ověřte, že se webové stránky zobrazují prostřednictvím Vyrovnávací paměti laku jak následuje. Otevřete webový prohlížeč a procházejte se pomocí IP serveru nebo FDQN, jak je znázorněno na následujícím snímku obrazovky.
http://www.tecmin.lan OR http://10.42.0.144
Ověřte stránky Nginx poskytované prostřednictvím mezipaměti laku
17. Případně použijte příkaz curl, jak je znázorněno. Použijte IP adresu vašeho serveru nebo FQDN webu nebo použijte 127.0.0.1 nebo localhost, pokud testujete lokálně.
# curl -I http:///www.tecmint.lan
Ověřte stránku mezipaměti laku Nginx pomocí Curl
Užitečné nástroje pro správu mezipaměti laku
18. V této poslední části stručně popíšeme některé užitečné pomocné programy, které Varnish Cache se dodává se kterým můžete ovládat lak , přístup k protokolům v paměti a celkovým statistikám a další.
varnishadm
varnishadm nástroj pro ovládání spuštěné instance Varnish. Navazuje spojení CLI s lakem. Můžete jej například použít k zobrazení seznamu nakonfigurovaných backendů, jak je znázorněno na následujícím snímku obrazovky (přečtěte si manlakadm pro více informací).
# varnishadm varnish> backend.list
Seznam nakonfigurovaných backendů
log laku
laklog obslužný program poskytuje přístup k datům specifickým pro požadavek. Nabízí informace o konkrétních klientech a požadavcích (přečtěte si manlaklog pro více informací).
# varnishlog
Zkontrolujte informace o klientech a požadavcích
status laku
Stát laku známé také jako statistika laků , která vám poskytuje pohled na aktuální výkon Varnish tím, že poskytuje přístup ke statistikám uloženým v paměti, jako jsou přístupy a vynechání mezipaměti, informace o úložišti, vytvořená vlákna, smazané objekty (přečtěte si man lakstat pro více informací).
# varnishstat
Zobrazit statistiku laku
lak
lak nástroj čte protokoly sdílené paměti a předkládá průběžně aktualizovaný seznam nejčastěji se vyskytujících položek protokolu (přečtěte si man laktop pro více informací).
# varnishtop
Zobrazit protokoly sdílené paměti
lakovač
lakovač (historie laku ) nástroj analyzuje protokoly laku a vydává průběžně aktualizovaný histogram zobrazující rozložení posledních n požadavky jejich zpracováním (přečtěte siman lakhist pro více informací).
# varnishhist
Zobrazit histogram požadavků
To je vše! V této příručce jsme si ukázali, jak nainstalovat Varnish Cache a spusťte jej před Nginx HTTP server pro urychlení doručování webového obsahu v CentOS/RHEL 8 .
Jakékoli myšlenky nebo dotazy týkající se této příručky můžete sdílet pomocí formuláře zpětné vazby níže. Další informace naleznete v dokumentaci Varnish Cache 6.0.
Hlavní nevýhoda Varnish Cache je nedostatek nativní podpory pro HTTPS . Chcete-li povolit HTTPS na vašem webu/aplikaci musíte nakonfigurovat ukončovací proxy SSL/TLS, aby fungoval ve spojení s Varnish Cache k ochraně vašeho webu. V našem dalším článku si ukážeme, jak povolit HTTPS pro Varnish Cache pomocí Hitch na CentOS/RHEL 8 .
Sharing is Caring…Sdílet na FacebookuSdílet na TwitteruSdílet na LinkedinSdílet na Redditu