Varnish Cache je bezplatný, open-source a výkonný akcelerátor webových aplikací určený pro dynamické webové stránky s vysokým zatížením. Mezipaměť laku je umístěna za webovým serverem a může zrychlit váš web přibližně 300 až 1000krát. Může být také použit jako nástroj pro vyrovnávání zatížení, pokud provozujete více serverů. Varnish Cache funguje tak, že ukládá požadované webové stránky do mezipaměti a obsluhuje požadovanou stránku bez zpoždění při vytváření obsahu od začátku, když jsou stejné informace požadovány několikrát.
V tomto tutoriálu vám ukážeme, jak nastavit Varnish Cache jako proxy server pro Nginx na Ubuntu 18.04 VPS.
Předpoklady
- Nové Ubuntu 18.04 VPS na cloudové platformě Atlantic.Net.
- Heslo uživatele root nastavené na vašem serveru.
Krok 1 – Vytvořte cloudový server Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 18.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Jakmile se přihlásíte ke svému serveru Ubuntu 18.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
apt-get update -y
Krok 2 – Instalace mezipaměti laku
apt-get install varnish -y
Po úspěšné instalaci se služba Varnish cache automaticky spustila. Stav služby Lakování můžete zkontrolovat pomocí následujícího příkazu:
systemctl status varnish
Měli byste získat následující výstup:
Nainstalovanou verzi Varnish můžete také ověřit pomocí následujícího příkazu:
varnishd -V
Měli byste vidět následující výstup:
netstat -ant
Měli byste vidět následující výstup:
Krok 3 – Instalace a konfigurace Nginx
V této části nainstalujeme a nakonfigurujeme Nginx tak, aby seděl za serverem mezipaměti Varnish. Ve výchozím nastavení běží Nginx na portu 80, takže budete muset nakonfigurovat Nginx tak, aby naslouchal na portu 8088.
Nejprve nainstalujte webový server Nginx pomocí následujícího příkazu:
apt-get install nginx -y
Po instalaci webového serveru Nginx upravte výchozí konfigurační soubor virtuálního hostitele Nginx:
nano /etc/nginx/sites-available/default
Změňte výchozí port z 80 na 8088, jak je uvedeno níže:
server { listen 8088 default_server; listen [::]:8088 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } }
Poznámka:Ujistěte se, že jste odstranili nebo okomentovali všechny výchozí položky v souborech, ujistěte se, že je uložen pouze výše uvedený obsah. Pokud to neuděláte, služba nginx se odmítne spustit
Po dokončení uložte a zavřete soubor. Poté restartujte službu Nginx a použijte konfiguraci:
systemctl restart nginx
Krok 4 – Konfigurace mezipaměti laku
Dále budete muset nakonfigurovat Varnish tak, aby používal port 80, aby mohl směrovat provoz na webový server Nginx přes server mezipaměti Varnish.
Můžete to udělat úpravou souboru /lib/systemd/system/varnish.service:
nano /lib/systemd/system/varnish.service
Změňte výchozí port Varnish z 6081 na 80, jak je uvedeno níže:
[Unit] Description=Varnish HTTP accelerator Documentation=https://www.varnish-cache.org/docs/4.1/ man:varnishd [Service] Type=simple LimitNOFILE=131072 LimitMEMLOCK=82000 ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m ExecReload=/usr/share/varnish/varnishreload ProtectSystem=full ProtectHome=true PrivateTmp=true PrivateDevices=true [Install] WantedBy=multi-user.target
Po dokončení uložte a zavřete soubor. Poté znovu načtěte démona systemd pomocí následujícího příkazu:
systemctl daemon-reload
Dále budete muset nakonfigurovat Nginx jako backend server pro Varnish. Můžete to udělat úpravou souboru /etc/varnish/default.vcl:
nano /etc/varnish/default.vcl
Změňte port z 8080 na 8088, jak je uvedeno níže:
backend default { .host = "127.0.0.1"; .port = "8088"; }
Po dokončení uložte a zavřete soubor.
Poznámka :Nahraďte 127.0.0.1 IP adresou vašeho serveru Nginx, pokud je váš webový server Nginx nainstalován na druhém hostiteli.
Nakonec restartujte server mezipaměti Varnish pomocí následujícího příkazu:
systemctl restart varnish
Krok 5 – Ověřte server mezipaměti laku
V tomto okamžiku je mezipaměť Varnish nakonfigurována pro práci s webovým serverem Nginx. Je čas to otestovat.
Mezipaměť laku můžete zkontrolovat pomocí příkazu curl, jak je znázorněno níže:
curl -I your-server-ip
Měli byste získat následující výstup:
HTTP/1.1 200 OK Server: nginx/1.14.0 (Ubuntu) Date: Sun, 01 Dec 2019 06:46:18 GMT Content-Type: text/html Last-Modified: Sun, 01 Dec 2019 06:41:28 GMT ETag: W/"5de36098-264" Vary: Accept-Encoding X-Varnish: 32770 3 Age: 17 Via: 1.1 varnish (Varnish/5.2) Accept-Ranges: bytes Connection: keep-alive
Výše uvedený výstup jasně ukazuje, že používáte server Nginx s mezipamětí Varnish.
Statistiku ukládání do mezipaměti Varnish můžete také ověřit pomocí následujícího příkazu:
varnishstat
Měli byste vidět následující obrazovku:
Můžete také zobrazit hodnocení záznamu protokolu Varnish pomocí následujícího příkazu:
varnishtop
Výstup:
Pokud máte nějaké problémy s mezipamětí Varnish, můžete zkontrolovat protokol Varnish pomocí následujících příkazů:
tail -f varnishncsa.log
Závěr
Gratulujeme! Úspěšně jste nainstalovali a nakonfigurovali server Varnish Cache s Nginx na Ubuntu 18.04 VPS. Chcete-li optimalizovat konfiguraci podle svých potřeb, můžete se podívat na dokumentaci k laku.