Vyrovnávací paměť laku (také označovaný jako lak ) je open-source, vysoce výkonný HTTP akcelerátor určený pro zrychlení webových serverů. V našich posledních článcích jsme vysvětlili, jak nastavit Varnish Cache pro Apache na CentOS 7 a CentOS 8.
V tomto článku vám ukážeme, jak nainstalovat a používat Varnish Cache jako front-end k serveru Nginx HTTP v CentOS 7 . Tato příručka by měla fungovat i na RHEL 7 .
Požadavky
- CentOS 7 s nainstalovaným Apache
- CentOS 7 se statickou IP adresou
Krok 1:Nainstalujte webový server Nginx na CentOS 7
1. Začněte instalací Nginx HTTP server z výchozích softwarových úložišť CentOS pomocí správce balíčků YUM následovně.
# yum nainstalovat nginx
2. Po dokončení instalace spusťte Nginx službu a povolit její automatické spouštění při spouštění systému.
# systemctl start nginx# systemctl enable nginx# systemctl status nginx
3. Nyní upravte pravidla brány firewall systému tak, aby povolovala příchozí pakety na portu 80 pomocí níže uvedených příkazů.
# firewall-cmd --zone=public --permanent --add-port=80/tcp# firewall-cmd --reload# firewall-cmd --zone=public --permanent --add-port=8080 /tcp# firewall-cmd --reload
Krok 2:Nainstalujte mezipaměť laku na CentOS 7
4. Nyní jsou k dispozici předkompilované balíčky RPM pro nejnovější verzi Varnish Cache 6 (tj. 6,5 v době psaní tohoto článku), proto musíte přidat oficiální úložiště Varnish Cache.
Předtím musíte povolit úložiště EPEL pro instalaci několika závislých balíčků, jak je znázorněno.
# yum install -y epel-release
5. Dále nainstalujte pygpgme , balíček pro manipulaci s GPG podpisy a yum-utils, sbírka užitečných nástrojů, které různými způsoby rozšiřují nativní funkce yum.
# yum nainstalovat pygpgme yum-utils
6. Nyní vytvořte soubor s názvem /etc/yum.repos.d/varnishcache_varnish5.repo který obsahuje níže uvedenou konfiguraci úložiště.
# vi /etc/yum.repos.d/varnishcache_varnish65.repo
Důležité :Nezapomeňte nahradit el
a 7
v níže uvedené konfiguraci s vaší distribucí a verzí Linuxu:
[varnishcache_varnish65]name=varnishcache_varnish65baseurl=https://packagecloud.io/varnishcache/varnish65/el/7/ dolarů sourcebaseurl=https://packagecloud.io/varnishcache/varnish65/el/7/ SRPMSrepo_gpgcheck=1gpgcheck=0enabled=1gpgkey=https://packagecloud.io/varnishcache/varnish65/gpgkeysslverify=1sslcacert=/etc/pki/tls/certs/ca-bundle.crtmetadata_expire>3007. Nyní spusťte příkaz níže, abyste aktualizovali místní mezipaměť yum a nainstalovali balíček mezipaměti laku (nezapomeňte přijmout klíč GPG zadáním
y
neboyes
při instalaci balíčku):# yum -q makecache -y --disablerepo='*' --enablerepo='varnishcache_varnish65'# yum instalační lak8. Po instalaci Varnish Cache , hlavní spustitelný soubor bude nainstalován jako /usr/sbin/varnishd a konfigurační soubory laku jsou umístěny v /etc/varnish/ :
- /etc/varnish/default.vcl – toto je hlavní konfigurační soubor laku, je napsán pomocí jazyka Vanish Configuration Language (VCL).
9. Nyní spusťte lakovací službu, povolte její automatické spouštění během spouštění systému a ověřte její stav, abyste se ujistili, že je v provozu následovně.
# systemctl start lak# systemctl povolit lak# systemctl status lak
10. Úspěšnost instalace Varnish můžete potvrdit zobrazením umístění spustitelného souboru Varnish a verze nainstalované ve vašem systému.
$ který lakd$ lakovaný -V
Ukázkový výstup
lak (lak-6.5.1 revize 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64)Autorská práva (c) 2006 Verdens Gang ASCopyright (c) 2006–2020 Lakovací software
Krok 3:Nakonfigurujte Nginx pro práci s mezipamětí laku
11. V tomto kroku musíte nakonfigurovat Nginx pro práci s mezipamětí laku. Ve výchozím nastavení Nginx naslouchá na portu 80 , měli byste změnit výchozí port Nginx na 8080 takže běží za ukládáním do mezipaměti Varnish.
Otevřete konfigurační soubor Nginx /etc/nginx/nginx.conf a najděte řádek listen 80 a změňte jej na poslech 8080 jako v bloku serveru zobrazeném na snímku obrazovky níže.
# vi /etc/nginx/nginx.conf
Poznámka :Toto by mělo být provedeno ve všech konfiguračních souborech bloků serveru (obvykle vytvořených pod /etc/nginx/conf.d/ ) pro weby, které chcete zobrazovat prostřednictvím Varnish .
12. Dále otevřete konfigurační soubor služby lakování a najděte parametr ExecStart což určuje port, na kterém Varnish naslouchá, a změňte jeho hodnotu z 6081 na 80 .
# systemctl edit --full lak
Řádek by měl vypadat jako na obrázku.
ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
13. Dále nastavte Nginx jako backendový server pro Varnish proxy v /etc/varnish/default.vcl konfigurační soubor.
# vi /etc/varnish/default.vcl
Najděte backend a definujte hostitelskou IP a port. Níže je výchozí konfigurace backendu, nastavte ji tak, aby ukazovala na váš skutečný obsahový server.
výchozí backend { .host ="127.0.0.1"; .port ="8080";}
14. Po provedení všech nezbytných konfigurací restartujte Nginx HTTPD a mezipaměť Varnish, aby se výše uvedené změny projevily.
# systemctl daemon-reload# systemctl restart nginx# systemctl restart lak
Krok 4:Otestujte mezipaměť laku na Nginx
15. Nakonec otestujte, zda je povolena mezipaměť Varnish a zda funguje se službou Nginx pomocí příkazu cURL níže, abyste zobrazili hlavičku HTTP.
# curl -I http://localhost
Ukázkový výstup
HTTP/1.1 200 OKServer:nginx/1.16.1Datum:středa, 6. ledna 2021 09:24:18 GMTContent-Type:text/htmlContent-Length:4833Last-Modified:Fri, 16 May 2014:15:48 GMT :"53762af0-12e1"X-Lak:2Věk:0Via:1.1 lak (Lak/6.5)Accept-Ranges:bytesPřipojení:keep-alive
Další informace můžete najít v Github Repository Varnish Cache:https://github.com/varnishcache/varnish-cache
V tomto tutoriálu jsme vysvětlili, jak nastavit mezipaměť Varnish pro server Nginx HTTP na CentOS 7. Pomocí formuláře pro komentáře níže nám pošlete jakékoli dotazy nebo další nápady.