GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak zrychlit Apache pomocí Varnish HTTP cache na Ubuntu 16.04 LTS

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 The New York Times.

V tomto tutoriálu vám ukážeme, jak nainstalovat a nakonfigurovat akcelerátor Varnish HTTP jako reverzní proxy pro webový server Apache. Skutečný webový server Apache poběží pod nestandardním HTTP portem (běží na portu 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

  1. Nainstalujte webový server Apache
  2. Změnit výchozí port Apache
  3. Nainstalujte lak
  4. Nakonfigurujte lak
  5. Otestujte nastavení

Předpoklady

  • Ubuntu 16.04
  • Oprávnění uživatele root

Krok 1 – Instalace webového serveru Apache

Chcete-li začít, nainstalujte webový server Apache. Ve výchozím nastavení je k dispozici v úložišti Ubuntu.

Aktualizujte úložiště Ubuntu a poté nainstalujte Apache pomocí příkazu apt.

sudo apt update
sudo apt install -y apache2

Po dokončení instalace spusťte službu Apache a povolte její automatické spouštění při spouštění systému pomocí následujících příkazů systemctl.

systemctl start apache2
systemctl enable apache2

Webový server Apache byl nainstalován.

Dále, abychom všem umožnili přístup k webovému serveru, musíme v našem pravidle brány firewall povolit HTTP a HTTPS. Ve výchozím nastavení je Ubuntu dodáváno s balíčkem brány firewall s názvem UFW.

Otevřete nové porty SSH, HTTP a HTTPS pomocí následujících příkazů ufw.

ufw allow ssh
ufw allow http
ufw allow https

Nyní spusťte službu brány firewall a povolte její automatické spouštění při spouštění systému.

ufw enable

Zadejte „y“ a potvrďte stisknutím klávesy Enter.

Byly otevřeny nové porty pro http, https a ssh a jsou přístupné zvenčí ze sítě.

Pokud chcete otestovat webový server Apache, můžete použít příkaz netstat a ujistit se, že apache běží pod portem 80.

netstat -plntu

Nebo můžete použít následující příkaz curl.

curl -I hakase-labs.co

Měli byste získat výsledek, jak je uvedeno níže.

Krok 2 – Změna výchozího portu Apache

V tomto tutoriálu budeme jako backendový server používat Apache a nepoběží pod standardním http portem 80. Webový server Apache poběží na portu 8080 jako backend a standardní http port 80 bude používat ' Lak'.

Chcete-li změnit výchozí port apache, musíme upravit konfiguraci apache 'ports.conf' a veškerou konfiguraci virtuálního hostitele v adresáři 'sites-available'.

Přejděte do konfiguračního adresáře Apache.

cd /etc/apache2

Nahraďte port '80' za '8080' v konfiguraci Apache 'ports.conf' a všechny soubory virtuálního hostitele v adresáři 'sites-available'. Můžeme to udělat spuštěním následujících příkazů sed.

sed -i -e 's/80/8080/g' ports.conf
sed -i -e 's/80/8080/g' sites-available/*

Dále otestujte konfiguraci Apache a ujistěte se, že nedochází k chybě, poté restartujte službu Apache.

apachectl configtest
systemctl restart apache2

Nyní Apache běží pod http portem '8080', zkontrolujte jej pomocí příkazu netstat, jak je ukázáno níže.

netstat -plntu

Ujistěte se, že máte výsledek jako níže.

Takže můžete vidět, že webový server Apache běží na portu '8080'.

Krok 3 – Instalace Varnish HTTP Accelerator

V tomto kroku budeme instalovat Varnish z úložiště Ubuntu. A pro tento návod budeme používat lak 4.

Nainstalujte lak pomocí následujícího příkazu apt.

sudo apt install -y varnish

Po dokončení instalace spusťte Varnish a povolte jeho automatické spouštění při spouštění systému.

systemctl start varnish
systemctl enable varnish

Varnish byl nainstalován v systému Ubuntu 16.04.

Ve výchozím nastavení běží pod porty '6081' pro veřejnou adresu a '6082' pro adresu localhost. Zkontrolujte to pomocí příkazu netstat níže.

netstat -plntu

A získáte výchozí port pro lak.

Krok 4 – Konfigurace laku jako reverzního proxy pro Apache

V tomto kroku nakonfigurujeme lak na přední straně webového serveru Apache. Varnish bude běžet pod http portem 80 a každý požadavek od klientů bude zpracován jím, než bude odeslán na webový server Apache běžící na portu 8080.

– Konfigurace backendu

Přejděte do konfiguračního adresáře 'varnish' a zálohujte výchozí soubor 'default.vcl'.

cd /etc/varnish/
cp default.vcl default.vcl.aseli

Upravte konfiguraci laku 'default.vcl' pomocí editoru vim.

vim default.vcl

Definujte konfiguraci „backendu“ na řádku 16. Backend pro naše nastavení je Apache a běží na portu 8080. Konfigurace laku pro naše nastavení Apache by tedy měla být následující:

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

Uložte a ukončete.

- Spuštění laku na portu 80

Dále musíme změnit výchozí porty laku. Výchozí porty pro lak jsou '6081' a '6082' a my potřebujeme změnit port na http port 80 (pouze pro veřejnou adresu).

Upravte konfiguraci parametru laku v adresáři '/etc/default'.

cd /etc/default/
vim varnish

Upravte řádek 'DAEMON_OPTS', změňte výchozí port '6081' pro veřejnou adresu se standardním http portem '80', jak je uvedeno níže.

DAEMON_OPTS="-a :80 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -s malloc,256m"

Uložte a ukončete.

Dále musíme upravit servisní soubor laku 'varnish.service'. Přejděte do adresáře '/lib/systemd/system' a upravte soubor služby pomocí vim.

cd /lib/systemd/system/
vim varnish.service

Na řádku 'ExecStart' změňte příkaz spuštění laku, jak je uvedeno níže.

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 služby systemd a poté restartujte lak.

systemctl daemon-reload
systemctl restart varnish

Nyní zkontrolujte lak a ujistěte se, že běží na http portu 80.

netstat -plntu

Varnish tedy nyní běží pod http portem 80 jako front-end pro webový server Apache, který je na portu 8080.

Krok 5 – Testování

Otestujte pomocí příkazu curl.

curl -I hakase-labs.co

Ujistěte se, že máte záhlaví http, jak je znázorněno níže.

Při kontrole z webového prohlížeče je adresa URL mého testovacího serveru: http://hakase-labs.co/. Zde vyberte adresu URL svého serveru.

A stále dostáváme obsah Apache.

Zkontrolujte protokol laku pomocí příkazu 'varnishncsa'.

varnishncsa

A log získáme právě z protokolu přístupu Apache.

Instalace a konfigurace laku pro webový server Apache byla dokončena.

Reference

  • Vyrovnávací paměť laku
  • Apache HTTPD


Ubuntu
  1. Jak nainstalovat HTTP Git Server s Nginx na Ubuntu 16.04

  2. Jak nainstalovat HTTP Git Server s Nginx na Ubuntu 20.04

  3. Jak nainstalovat mezipaměť laku na Ubuntu 18.04 LTS

  1. Jak zrychlit Apache pomocí mezipaměti Varnish HTTP na Ubuntu 18.04 LTS

  2. Jak nainstalovat OpenLiteSpeed ​​HTTP Server s PHP na Ubuntu 18.04 LTS

  3. Jak nainstalovat Jenkins Automation Server s Apache na Ubuntu 16.04

  1. Jak nainstalovat OpenLiteSpeed ​​HTTP Server s PHP 7.1 na Ubuntu 16.04 LTS

  2. Jak nainstalovat Jenkins Automation Server s Apache na Ubuntu 18.04

  3. Jak nainstalovat HTTP Git Server s Nginx na Ubuntu 18.04 LTS