Vyhledávání na webu

Nainstalujte Varnish Cache 5.2 pro Apache na Debian a Ubuntu


Varnish Cache (také nazývaný Varnish) je open source, vysoce výkonný HTTP akcelerátor s moderním designem. Ukládá mezipaměť do paměti a zajišťuje, že zdroje webového serveru nebudou plýtvány při vytváření stejné webové stránky znovu a znovu, když to klient požaduje.

Může být nakonfigurován tak, aby běžel před webovým serverem a obsluhoval stránky mnohem rychleji, čímž se webové stránky rychle načítají. Podporuje vyvažování zátěže s kontrolou stavu backendů, přepisování URL, ladné zacházení s „mrtvými“ backendy a nabízí částečnou podporu pro ESI (Edge Side include).

V naší sérii článků o Varnish Cache jsme si ukázali, jak nastavit Varnish pro Nginx a Varnish pro webové servery Apache v systému CentOS 7.

V tomto článku vysvětlíme, jak nainstalovat a nakonfigurovat Varnish Cache 5.2 jako front-end k serveru Apache HTTP na systémech Debian a Ubuntu.

Požadavky:

  1. Systém Ubuntu nainstalovaný s LAMP Stack
  2. Systém Debian nainstalovaný s LAMP Stack
  3. Systém Debian/Ubuntu se statickou IP adresou

Krok 1: Nainstalujte mezipaměť Varnish na Debian a Ubuntu

1. Naštěstí existují předkompilované balíčky pro nejnovější verzi Varnish Cache 5 (tj. 5.2 v době psaní článku), takže musíte do svého systému přidat oficiální úložiště laků, jak je znázorněno níže.

curl -L https://packagecloud.io/varnishcache/varnish5/gpgkey | sudo apt-key add -

Důležité: Pokud používáte Debian, nainstalujte si balíček debian-archive-keyring pro ověření oficiálních repozitářů Debianu .

sudo apt-get install debian-archive-keyring

2. Poté vytvořte soubor s názvem /etc/apt/sources.list.d/varnishcache_varnish5.list, který obsahuje níže uvedenou konfiguraci úložiště. Nezapomeňte nahradit ubuntu a xenial svou distribucí a verzí Linuxu.

deb https://packagecloud.io/varnishcache/varnish5/ubuntu/ xenial main  
deb-src https://packagecloud.io/varnishcache/varnish5/ubuntu/ xenial  main

3. Dále aktualizujte úložiště softwarových balíčků a nainstalujte mezipaměť laku pomocí následujících příkazů.

sudo apt update
sudo apt install varnish

4. Po instalaci Varnish Cache budou hlavní konfigurační soubory nainstalovány do adresáře /etc/varnish/.

  • /etc/default/varnish – konfigurační soubor prostředí laku.
  • /etc/varnish/default.vcl – hlavní konfigurační soubor laku, je napsán pomocí jazyka VCL (vanish configuration language).
  • /etc/varnish/secret – tajný soubor laku.

Chcete-li potvrdit, že instalace Varnish byla úspěšná, spusťte následující příkaz a zobrazte verzi.

varnishd -V

Krok 2: Nakonfigurujte Apache pro práci s mezipamětí laku

5. Nyní musíte nakonfigurovat Apache tak, aby fungoval s mezipamětí Varnish Cache. Ve výchozím nastavení Apache naslouchá na portu 80, je třeba změnit výchozí port Apache na 8080, aby mohl běžet za ukládáním do mezipaměti Varnish.

Otevřete tedy konfigurační soubor portů Apache /etc/apache2/ports.conf a najděte řádek listen 80, poté jej změňte na listen 8080.

Případně stačí spustit příkaz sed a změnit port 80 na 8080 následovně.

sudo sed -i "s/Listen 80/Listen 8080/" /etc/apache2/ports.conf

6. Musíte také provést změny ve vašem virtuálním hostitelském souboru umístěném v /etc/apache2/sites-available/.

sudo vi /etc/apache2/sites-available/000-default.conf

Změňte číslo portu na 8080.

<VirtualHost *:8080>
	#virtual host configs here
</VirtualHost>

7. Na systémech používajících systemd je konfigurační soubor prostředí /etc/default/varnish zastaralý a již není dále považován.

Musíte zkopírovat soubor /lib/systemd/system/varnish.service do /etc/systemd/system/ a provést v něm několik změn.

sudo cp /lib/systemd/system/varnish.service /etc/systemd/system/
sudo vi /etc/systemd/system/varnish.service

Musíte upravit direktivu služby ExecStart, která definuje možnosti běhu démona laku. Nastavte hodnotu příznaku -a, který definuje port, kterému lak naslouchá, od 6081 do 80.

8. Chcete-li provést výše uvedené změny v souboru servisní jednotky laku, spusťte následující příkaz systemctl:

sudo systemctl daemon-reload

9. Poté v konfiguračním souboru /etc/varnish/default.vcl nakonfigurujte Apache jako backendový server pro Varnish proxy.

sudo vi /etc/varnish/default.vcl 

Pomocí sekce backend můžete definovat IP hostitele a port pro váš obsahový server. Následuje výchozí konfigurace backendu, která používá localhost (nastavte, aby ukazoval na váš skutečný obsahový server).

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

10. Jakmile provedete všechny výše uvedené konfigurace, restartujte Apache a Varnish démona zadáním následujících příkazů.

sudo systemctl restart apache
sudo systemctl start varnish
sudo systemctl enable varnish
sudo systemctl status varnish

Krok 3: Otestujte mezipaměť laku na Apache

11. Nakonec otestujte, zda je povolena mezipaměť Varnish a zda funguje se serverem Apache HTTP pomocí příkazu cURL níže, abyste zobrazili hlavičku HTTP.

curl -I http://localhost

A je to! Pro více informací o Varnish Cache navštivte – https://github.com/varnishcache/varnish-cache

V tomto tutoriálu jsme vysvětlili, jak nastavit Varnish Cache 5.2 pro server Apache HTTP na systémech Debian a Ubuntu. Prostřednictvím zpětné vazby níže se s námi můžete podělit o jakékoli myšlenky nebo dotazy.