Správa webových služeb je v dnešní době základním úkolem při správě serveru. Proto vždy existují nástroje, které nám s úkolem pomohou. Jedním z nich je zrychlení webového serveru, něco, co se v naší době zdá být základní. Abychom vám s tím pomohli, tento příspěvek existuje, abyste si mohli nainstalovat a nakonfigurovat Varnish na Ubuntu 20.04.
Co je lak?
Podle webu Varnish:
Varnish Cache je akcelerátor webových aplikací známý také jako reverzní proxy HTTP pro ukládání do mezipaměti. Nainstalujete jej před jakýkoli server, který mluví HTTP, a nakonfigurujete jej pro ukládání obsahu do mezipaměti. Varnish Cache je opravdu velmi rychlá. Obvykle urychluje doručení faktorem 300–1000x, v závislosti na vaší architektuře
Jednou z klíčových vlastností Varnish Cache je kromě výkonu také flexibilita konfiguračního jazyka VCL. VCL vám umožňuje psát zásady, jak mají být zpracovány příchozí požadavky. V těchto zásadách se můžete rozhodnout, jaký obsah chcete zobrazovat , odkud chcete získat obsah a jak by měla být žádost nebo odpověď změněna.
Dalším zajímavým aspektem je, že Varnish je open source vydaný pod licencí FreeBSD. Tento projekt se zrodil v roce 2005, takže má dlouhou trajektorii, která mu umožnila získat zkušenosti.
Varnish je tedy velmi užitečným nástrojem pro naše webové servery a zvláště když čelíme velkému provozu.
Instalace a konfigurace Varnish na Ubuntu 20.04
Lak je velmi flexibilní, a proto jej lze nakonfigurovat v Nginx i Apache. Být to druhé, současná volba, protože je velmi populární.
První krok:Instalace a konfigurace Apache
Prvním krokem je nainstalovat Apache na Ubuntu 20.04 a poté provést nějaké konfigurace pro jeho nastavení pomocí Varnish.
V prostředí příkazového řádku tedy nejprve aktualizujte operační systém.
sudo apt update
sudo apt upgrade
Poté nainstalujte Apache z oficiálního úložiště Ubuntu 20.04.
sudo apt install apache2
Pokud váš server běží za firewallem, ujistěte se, že máte otevřené porty Apache.
sudo ufw allow http
sudo ufw allow https
Nyní musíte změnit port, který Apache používá ve výchozím nastavení, což je 80
k tomu musíte upravit ports.conf
soubor.
sudo nano /etc/apache2/ports.conf
A vyhledejte řádek Listen a nastavte jiný port. V tomto případě zvolím 8080
Listen 8080
Uložte změny a zavřete editor.
Nyní musíte udělat totéž ve výchozím konfiguračním souboru Virtualhost:
sudo nano /etc/apache2/sites-available/000-default.conf
A nahraďte řádek VirtualHost tímto:
<VirtualHost *:8080>
Uložte změny a zavřete soubor.
Pamatujte, že pokaždé, když přidáte nový VirtualHost, musíte změnit port v jeho konfiguračním souboru.
Syntaxi konfigurací můžete otestovat na chyby:
sudo apachectl configtest
Syntax OK
Nakonec pro použití změn restartujte Apache.
sudo systemctl restart apache2
Nyní pojďme k laku
Druhý krok:Instalace Varnish na Ubuntu 20.04
Lak je dostupný v oficiálních repozitářích Ubuntu, takže instalace je docela snadná.
Chcete-li tedy nainstalovat Varnish, spusťte následující příkaz:
sudo apt install varnish
Službu můžete spustit a povolit její spuštění při startu systému
sudo systemctl start varnish
sudo systemctl enable varnish
Poté musíte provést nějakou konfiguraci, aby fungoval s Apache.
Varnish tedy používá pro své konfigurace VCL, takže musíme upravit výchozí konfigurační soubor.
Před tím proveďte zálohu:
cd /etc/varnish/
sudo cp default.vcl default.vcl.bak
sudo nano default.vcl
A uvnitř výchozí části backendu se ujistěte, že má následující konfiguraci:
backend default { .host = "127.0.0.1"; .port = "8080"; }
Jak si můžete všimnout, naznačujeme, že bude naslouchat na portu 8080
na localhost na Apache.
A také je nutné provést změny v jiném konfiguračním souboru:
cd /etc/default/
sudo nano varnish
V nekomentované části DAEMON_OPTS
změňte naslouchací port a ponechte jej následovně:
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
Uložte změny a zavřete soubor.
Nyní je čas provést poslední změnu a je v souboru, který spravuje službu Varnish, kde musíte upravit naslouchací port.
sudo nano /lib/systemd/system/varnish.service
Poté vyhledejte řádek ExecStart a nahraďte jej tímto
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
Uložte změny a zavřete soubor.
Chcete-li použít změny, aktualizujte služby Systemd
sudo systemctl daemon-reload
A restartujte Varnish:
sudo systemctl restart varnish
Chcete-li zkontrolovat, zda je vše v pořádku, musíte web požádat příkazem Curl
curl -I [your-server]
Nahraďte [your-server]
s IP adresou vašeho serveru nebo domény. Měli byste obdržet výstup podobný tomuto:
HTTP/1.1 200 OK
Date: Tue, 23 Mar 2021 20:16:57 GMT
Server: Apache/2.4.41 (Ubuntu)
Last-Modified: Tue, 23 Mar 2021 20:02:35 GMT
Vary: Accept-Encoding
Content-Type: text/html
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.2)
ETag: W/"2aa6-5be39a9d0fa0e-gzip"
Accept-Ranges: bytes
Content-Length: 10918
Connection: keep-alive
Tímto způsobem se nainstaluje a nakonfiguruje Varnish.
Závěr
Lak spolu s Apache je dobrá kombinace, která našemu webserveru pomůže lépe zpracovat všechny weby, které umíme nasadit. A jak jsme mohli demonstrovat, konfigurace není složitá záležitost.