Pereiti prie pagrindinio turinio

[Ubuntu/Debian] Kaip įdiegti ir sukonfigūruoti Varnish

Varnish – tai HTTP spartinimo įrankis, skirtas turiniu gausioms dinaminėms svetainėms bei intensyviai naudojamoms API pagreitinti. Skirtingai nei kiti panašūs sprendimai – pavyzdžiui, Squid, kuris iš pradžių buvo sukurtas kaip kliento pusės cache, ar Apache bei nginx, kurie visų pirma veikia kaip web serveriai – Varnish nuo pat pradžių buvo kuriamas būtent HTTP srautui spartinti.

Varnish padeda sumažinti serverio apkrovą ir pagreitinti svetainės veikimą, ypač kai lankytojų srautas didelis. Kai tik įmanoma, lankytojams pateikiamas iš cache paimtas turinys, o į patį serverį kreipiamasi tik tada, kai reikia sugeneruoti ar atnaujinti dinaminį turinį.

Reikalavimai

Reikalingas naudotojas, turintis sudo teises (galima naudoti ir root), bei VPS serveryje įdiegtas Apache.

Instrukciją, kaip sukurti naują naudotoją ir suteikti jam sudo teises, rasite čia. Instrukciją, kaip įdiegti LAMP stack (Apache, MySQL, PHP), taip pat rasite čia.

Diegimas

Varnish kūrėjai rekomenduoja diegti Varnish paketą iš oficialios jų repozitorijos. Pirmiausia pridėkite repozitorijos GPG raktą:

sudo curl http://repo.varnish-cache.org/debian/GPG-key.txt | sudo apt-key add -

Pridėkite repozitoriją prie apt šaltinių sąrašo:

sudo nano /etc/apt/sources.list

Į failą įrašykite šią eilutę:

deb http://repo.varnish-cache.org/ubuntu/ lucid varnish-3.0

Išsaugokite pakeitimus ir uždarykite failą (Ctrl + O, Ctrl + X).

Galiausiai atnaujinkite apt-get informaciją ir įdiekite Varnish:

sudo apt-get update
sudo apt-get install varnish

Konfigūracija

Įdiegę Varnish, galite jį sukonfigūruoti taip, kad sumažintumėte serverio apkrovą. Varnish aptarnaus užklausas per 80 prievadą, o turinį gaus iš Apache, kuris veiks per 8080 prievadą.

Pirmiausia atidarykite /etc/default/varnish failą:

sudo nano /etc/default/varnish

Raskite reikiamus nustatymus ir pakeiskite juos taip:

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

Išsaugokite pakeitimus ir uždarykite failą (Ctrl + O, Ctrl + X). Tada atidarykite default.vcl failą:

sudo nano /etc/varnish/default.vcl

Šiame faile nurodoma, iš kur Varnish turi gauti web serverio turinį. Pagal numatytuosius nustatymus Apache naudoja 80 prievadą, tačiau vėliau jį pakeisime. Šiame faile nurodysime, kad Varnish turinį pasiektų per 8080 prievadą.

Konfigūracija turėtų atrodyti taip:

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

Apache konfigūracija

Pirmiausia reikia pakeisti numatytąjį Apache prievadą iš 80 į 8080. Atidarykite Apache prievadų konfigūracijos failą:

sudo nano /etc/apache2/ports.conf

Pakeiskite NameVirtualHost ir Listen reikšmes į 8080 prievadą. Virtual host taip pat turėtų būti pasiekiamas tik iš localhost.

Konfigūracija turėtų atrodyti taip:

NameVirtualHost 127.0.0.1:8080 Listen 127.0.0.1:8080

Tuos pačius nustatymus pakeiskite ir numatytajame virtual host faile:

sudo nano /etc/apache2/sites-available/default

VirtualHost taip pat turi naudoti 8080 prievadą:

<VirtualHost 127.0.0.1:8080>

Išsaugokite pakeitimus ir uždarykite failą (Ctrl + O, Ctrl + X). Kad pakeitimai įsigaliotų, perkraukite Apache ir Varnish servisus:

sudo service apache2 restart
sudo service varnish restart
Ar gavote atsakymą į savo klausimą?