Zrychlete svůj web: Aktivace Varnish Cache na Ubuntu

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í

Jak užitečný vidíte tento článek.

Sledujte mě na sociálních médiích.

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.

newsletter

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.  

Odebírat
Upozornit na
guest
0 Komentáře/ů
Vložené zpětné vazby.
Zobrazit všechny komentáře.

Pokud mi chcete napsat rychlou zprávu, využije, prosím, níže uvedený
kontaktní formulář. Děkuji.

Další Kontaktní údaje