Upraveno 6 prosince, 2023 00:21
V dnešním světě, kde rychlost a okamžitá dostupnost informací hrají klíčovou roli, je důležité, aby se webové stránky načítaly co nejrychleji. Nejspíš jste se už setkali s frustrací, kdy se vám web načítal pomalu a ztráceli jste trpělivost. Ale nezoufejte! Existuje nástroj, který dokáže výrazně zvýšit rychlost načítání webových stránek. Nazývá se Varnish Cache. V tomto článku se dozvíte, co je Varnish Cache, jak funguje a jak probíhá aktivace Varnish Cache na Ubuntu OS.
Zrychlete svůj web: Aktivace Varnish Cache na Ubuntu
Co je Varnish Cache?
Varnish Cache je open-source vyrovnávací systém mezi webovým serverem a uživatelem. Jednoduše řečeno, funguje jako prostředník mezi vámi a webovou stránkou, kterou se snažíte načíst. Jeho úkolem je ukládat kopie webových stránek načtených z webového serveru a následně poskytovat tyto kopie rychleji uživatelům. To znamená, že místo opakovaného načítání obsahu z webu, Varnish Cache předá uživatelům uloženou verzi, což výrazně snižuje čas načítání.
Jak funguje Varnish Cache?
Varnish Cache využívá principu vyrovnávání mezipaměti (caching). Když uživatel zažádá o určitou webovou stránku, Varnish cache nejprve zkontroluje, zda již daná stránka není uložena v její paměti. Pokud je, okamžitě ji předá uživateli, což vede k rychlému načtení. Pokud se webová stránka nenachází v mezipaměti, Varnish Cache pošle dotaz na webový server, stáhne a uloží kopii stránky do své paměti pro budoucí použití.
Aktivace Varnish Cache na Ubuntu
Pojďme se tedy podívat, jak instaluje a aktivuje Varnish cache na Ubuntu serveru. Jako první krok tedy proveďte aktualizaci seznamu balíčků:
sudo apt-get update
Nyní můžete provést instalaci Varnish pomocí příkazu:
sudo apt-get install varnish -y
Zda byla Varnish cache nainstalovaná korektně zjistíte výpisem jejího statusu:
sudo systemctl status varnish
Výpis bude vypadat přibližně takto. Důležitá je část Active: active.
root@ubuntu:~# sudo systemctl status varnish
● varnish.service - Varnish HTTP accelerator
Loaded: loaded (/lib/systemd/system/varnish.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-08-04 18:59:09 UTC; 4min 41s ago
Docs: https://www.varnish-cache.org/docs/6.1/
man:varnishd
Main PID: 3423 (varnishd)
Tasks: 217 (limit: 2344)
Memory: 10.7M
CGroup: /system.slice/varnish.service
├─3423 /usr/sbin/varnishd -j unix,user=vcache -F -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
└─3447 /usr/sbin/varnishd -j unix,user=vcache -F -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
Konfigurace Varnish
Defaultně naslouchá Varnish na portu 6081 a připojuje se na lokální web server na portu 8080. V konfiguraci tedy provedete úpravu, aby Varnish obsluhoval statický web pod Apachem. Obvykle budete chtít, aby naslouchací port byl 80, ale protože používáte Apache a Varnish na stejném serveru, použijete port 8080 pro Varnish a port 80 pro Apache.
Nyní si tedy v /etc/systemd/system/ vytvoříte soubor s názvem customexec.conf a novou složku s názvem varnish.service.d, kde provedete změnu defaultních portů.
Použijte příkaz mkdir pro vytvoření složky:
sudo mkdir /etc/systemd/system/varnish.service.d
Nyní použijte editor nano k vytvoření souboru customexec.conf:
sudo nano /etc/systemd/system/varnish.service.d/customexec.conf
Do souboru customexec.conf vložte následující řádky:
[Service]
ExecStart=
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :8080 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
Soubor pomocí zkratky CTRL+X uložte. Poté spusťte tento příkaz a znovu načtěte soubor systemd services z disku:
sudo systemctl daemon-reload
Také proveďte restart Varnish, aby se změny projevily:
sudo systemctl restart varnish
Pro kontrolu, zda vše proběhlo v pořádku a zda Varnish naslouchá na portu 8080 můžete spustit příkaz:
sudo netstat -ltnp | grep 8080
Jako výstup byste měli obdržet:
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 18689/varnishd
tcp6 0 0 :::8080 :::* LISTEN 18689/varnishd
Editace defaultního konfiguračního souboru
Nyní již Varnish běží a naslouchá na portu 8080. Proveďte tedy úpravu konfiguračního souboru uloženého v /etc/varnish/default.vcl:
sudo nano /etc/varnish/default.vcl
Najděte v něm řádek s .port a změňte port na 80. Tedy port, který používá Apache pro http spojení:
# Default backend definition. Set this to point to your content server.
backend default {
.host = "127.0.0.1";
.port = "80";
}
Změnu v konfiguračním souboru uložte a restartujte znovu Varnish:
sudo systemctl restart varnish
Aktivace Varnish Cache na Ubuntu – závěr.
Nyní by měl Varnish běžet a ukládat do mezipaměti data, která zpracovává Apache na portu 80. Pokud máte na webu např. WordPress, můžete nainstalovat a zprovoznit plugin, který Varnish cache používá. Osobně pro tuto cache používám WP-Rocket, který provádí jak klasickou cache, preload stránek, tak je zároveň propojený s Cloudflare CDN a také obsluhuje Varnish Cache. Jde tedy o komplexní plugin, který se stará o kompletní cache webu (mimo jiné při mazání cache maže i data OPcache na serveru).
Web je vytvářen s pečlivostí k obsaženým informacím. Snažím se poskytovat kvalitní a užitečný obsah, který ostatním pomáhá, nebo je inspiruje. Pokud jste spokojeni s mou prací a chtěli byste mě podpořit, můžete to udělat prostřednictvím jednoduchých možností.
Byl pro Vás tento článek užitečný?
Klikni na počet hvězd pro hlasování.
Průměrné hodnocení. 0 / 5. Počet hlasování: 0
Zatím nehodnoceno! Buďte první
Je mi líto, že pro Vás nebyl článek užitečný.
Jak mohu vylepšit článek?
Řekněte mi, jak jej mohu zlepšit.
Odebírejte Newsletter
Buďte v obraze! Připojte se k odběru newsletteru a buďte první, kdo získá nejnovější informace přímo do vaší e-mailové schránky. Sledujte aktuality, exkluzivní události a inspirativní obsah, přímo na Vašem e-mailu.