Varnish je proxy server zaměřený na ukládání do mezipaměti HTTP. Je navržen jako HTTP akcelerátor a může fungovat jako reverzní proxy pro váš webový server Apache nebo Nginx. Lak byl použit pro vysoce profilované a vysoce navštěvované webové stránky, včetně Wikipedie, The Guardian a New York Times.
V tomto tutoriálu vám ukážu, jak nainstalovat a nakonfigurovat lak HTTP akcelerátor jako reverzní proxy pro webový server Nginx. Skutečný webový server Nginx poběží pod nestandardním HTTP portem 8080. A Varnish poběží jako reverzní proxy na HTTP portu 80. V této příručce budeme používat server Ubuntu 16.04.
Co uděláme
- Nainstalujte Nginx na Ubuntu 16.04
- Nakonfigurujte Nginx na portu 8080
- Nainstalujte Varnish na Ubuntu 16.04
- Nakonfigurujte Varnish jako reverzní proxy pro Nginx
- Konfigurace brány UFW Firewall
- Testování
Předpoklady
- Ubuntu 16.04
- Kořenová oprávnění
Krok 1 – Instalace Nginx na Ubuntu 16.04
Prvním krokem, který musíme udělat pro tento tutoriál, je nainstalovat Nginx do systému Ubuntu 16.04. V tomto kroku nainstalujeme Nginx (je k dispozici v oficiálním úložišti Ubuntu), poté spustíme službu a poté povolíme její spuštění při každém startu systému.
Nainstalujte Nginx z úložiště Ubuntu pomocí příkazu apt.
sudo apt install nginx -y
Po dokončení instalace spusťte Nginx a povolte jeho spuštění při každém spuštění systému pomocí příkazů systemctl níže.
systemctl start nginx
systemctl enable nginx
Webový server Nginx běží na výchozím portu HTTP – zkontrolujte jej pomocí netstat a ujistěte se, že port HTTP používá Nginx.
netstat -plntu
Krok 2 – Konfigurace Nginx na portu 8080
V tomto kroku nakonfigurujeme nginx tak, aby běžel pod nestandardním HTTP portem 8080. Za tímto účelem potřebujeme upravit soubory virtuálního hostitele v adresáři 'sites-available'.
Přejděte do konfiguračního adresáře Nginx a upravte „výchozí“ soubor virtuálního hostitele pomocí vim.
cd /etc/nginx/
vim sites-available/default
Změňte hodnotu řádku „poslouchat“ na 8080.
listen 8080 default_server;
listen [::]:8080 default_server;
Uložte a ukončete.
Nyní otestujte konfiguraci Nginx a ujistěte se, že nedošlo k chybě. Poté restartujte službu.
nginx -t
systemctl restart nginx
Nyní znovu otestujte nginx pomocí netstat a ujistěte se, že běží na nestandardním portu HTTP 8080.
netstat -plntu
Webový server Nginx byl nainstalován a nyní běží na portu 8080.
Krok 3 – Instalace laku na Ubuntu 16.04
Nyní musíme do systému nainstalovat Varnish. Můžeme nainstalovat nejnovější verzi nástroje ze zdroje. A pro tento návod budeme instalovat lak z úložiště Ubuntu - Varnish v4.
Nainstalujte lak pomocí příkazu apt níže.
sudo apt install varnish -y
Nyní spusťte lak a povolte jeho spuštění při spouštění systému pomocí příkazů systemctl níže.
systemctl start varnish
systemctl enable varnish
Ve výchozím nastavení bude lak používat port 6081 pro veřejný přístup a port 6082 pro webové rozhraní správce laku. Zkontrolujte to pomocí příkazu netstat a ujistěte se, že tyto porty jsou v seznamu.
netstat -plntu
Varnish HTTP Accelerator byl nainstalován.
Krok 4 – Konfigurace laku jako reverzního proxy pro Nginx
V tomto tutoriálu budeme používat Varnish jako reverzní proxy pro webový server Nginx. Varnish poběží na portu HTTP 80 a webový server Nginx na portu HTTP 8080 (je kompletní).
V tomto kroku nakonfigurujeme Varnish pro Nginx, definujeme backend server a poté změníme lak tak, aby běžel pod HTTP portem 80.
Nyní přejděte do konfiguračního adresáře laku a upravte soubor 'default.vcl'.
cd /etc/varnish
vim default.vcl
Na řádku backend definujte konfiguraci, jak je uvedeno níže.
backend default {
.host = "127.0.0.1";
.port = "8080";
}
Uložte a ukončete.
Poznámka:
- .host =Adresa backendového webového serveru.
- .port =Podporovaný webový server běží na.
Konfigurace backendu byla dokončena.
Dále musíme nakonfigurovat Varnish tak, aby běžel pod HTTP portem 80. Přejděte do adresáře '/etc/default' a upravte konfigurační soubor laku 'varnish'.
cd /etc/default/
vim varnish
Na řádku 'DAEMON_OPTS' změňte výchozí port 6081 na port HTTP 80.
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
Uložte a ukončete.
Nyní upravte soubor služby laku v adresáři '/lib/systemd/system'. Přejděte do systémového adresáře systemd a upravte soubor lak.service.
cd /lib/systemd/system
vim varnish.service
Na řádku 'ExecStart' změňte port pro lak 6081 na port HTTP 80.
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 a ukončete.
Znovu načtěte konfiguraci systemd a restartujte lak.
systemctl daemon-reload
systemctl restart varnish
Po dokončení konfigurace zkontrolujte Varnish pomocí příkazu netstat níže.
netstat -plntu
Ujistěte se, že Varnish běží na portu HTTP 80, jak je znázorněno níže.
Konfigurace laku jako reverzní proxy pro Nginx byla dokončena.
Krok 5 – Konfigurace brány UFW
Systém Ubuntu je dodáván s výchozím firewallem čitelným pro člověka s názvem 'UFW'. Pokud balíček nemáte, nainstalujte je pomocí příkazu apt níže.
sudo apt install ufw
V tomto kroku aktivujeme firewall a otevřeme nové porty pro SSH, HTTP a HTTPS.
Spusťte níže uvedené příkazy ufw.
ufw allow ssh
ufw allow http
ufw allow https
Nyní aktivujte bránu firewall a povolte její spuštění při každém spuštění.
ufw enable
Zadejte „y“ a potvrďte stisknutím klávesy Enter.
UFW firewall je aktivován a HTTP i HTTPS port jsou nyní přístupné z vnější sítě.
Krok 6 – Testování
– Testování pomocí cURL
Testování laku pomocí příkazu curl, abychom viděli HTTP hlavičky ze serveru.
curl -I hakase-labs.co
A dostanete výsledek záhlaví HTTP „Via:1.1 lak-v4“, jak je znázorněno níže.
– Testování pomocí webového prohlížeče
Otevřete webový prohlížeč a zadejte následující adresu URL nebo adresu serveru. Moje je: http://hakase-labs.co
Ujistěte se, že máte výchozí stránku Nginx, jak je uvedeno níže.
– Testování protokolu laku
Varnish poskytuje některé příkazy pro správu a prohlížení protokolů. K získání protokolu přístupu k laku budeme používat 'varnishncsa'.
varnishncsa
A dostanete výsledek, jak je ukázáno níže.
Instalace a konfigurace laku jako reverzní proxy pro webový server Nginx byla dokončena.