Instal·leu Varnish Cache 5.2 per a Apache a Debian i Ubuntu


Varnish Cache (també anomenat Varnish) és un accelerador HTTP d'alt rendiment i codi obert amb un disseny modern. Emmagatzema la memòria cau a la memòria assegurant que els recursos del servidor web no es malgasten en crear la mateixa pàgina web una i altra vegada quan ho sol·liciti un client.

Es pot configurar per executar-se davant d'un servidor web per servir pàgines d'una manera molt més ràpida, fent que els llocs web es carreguin ràpidament. Admet l'equilibri de càrrega amb la comprovació de l'estat dels backends, la reescriptura d'URL, el maneig elegant dels backends morts i ofereix suport parcial per a ESI (Edge Side Includes).

A la nostra sèrie d'articles sobre Varnish per a servidors web Apache en un sistema CentOS 7.

En aquest article, explicarem com instal·lar i configurar Varnish Cache 5.2 com a interfície del servidor HTTP Apache en sistemes Debian i Ubuntu.

  1. Un sistema Ubuntu instal·lat amb LAMP Stack
  2. Un sistema Debian instal·lat amb LAMP Stack
  3. Un sistema Debian/Ubuntu amb adreça IP estàtica

Pas 1: instal·leu Varnish Cache a Debian i Ubuntu

1. Afortunadament, hi ha paquets compilats prèviament per a la darrera versió de Varnish Cache 5 (és a dir, 5.2 en el moment d'escriure), per la qual cosa heu d'afegir un dipòsit oficial de Varnish al vostre sistema, tal com es mostra a continuació.

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

Important: si feu servir Debian, instal·leu el paquet debian-archive-keyring per verificar els dipòsits oficials de Debian.

$ sudo apt-get install debian-archive-keyring

2. Després d'això, creeu un fitxer anomenat /etc/apt/sources.list.d/varnishcache_varnish5.list que contingui la configuració del dipòsit següent. Assegureu-vos de substituir ubuntu i xenial per la vostra distribució i versió de Linux.

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

3. A continuació, actualitzeu el dipòsit de paquets de programari i instal·leu la memòria cau de vernís mitjançant les ordres següents.

$ sudo apt update
$ sudo apt install varnish

4. Després d'instal·lar Varnish Cache, els fitxers de configuració principals s'instal·laran al directori /etc/varnish/.

  • /etc/default/varnish: el fitxer de configuració de l'entorn de vernís.
  • /etc/varnish/default.vcl: fitxer de configuració de vernís principal, està escrit amb el llenguatge de configuració de vanish (VCL).
  • /etc/varnish/secret: fitxer secret de vernís.

Per confirmar que la instal·lació de Varnish ha tingut èxit, executeu l'ordre següent per veure la versió.

$ varnishd -V

Pas 2: configureu Apache perquè funcioni amb la memòria cau de vernís

5. Ara heu de configurar Apache perquè funcioni amb la memòria cau de vernís. De manera predeterminada, Apache escolta al port 80, heu de canviar el port d'Apache predeterminat a 8080 per permetre que s'executi darrere de la memòria cau de Varnish.

Per tant, obriu el fitxer de configuració dels ports d'Apache /etc/apache2/ports.conf i cerqueu la línia listen 80 i, a continuació, canvieu-la per listen 8080.

Alternativament, només cal que executeu l'ordre sed per canviar el port 80 a 8080 de la següent manera.

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

6. També heu de fer canvis al fitxer d'amfitrió virtual que es troba a /etc/apache2/sites-available/.

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

Canvieu el número de port a 8080.

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

7. Als sistemes que utilitzen systemd, el fitxer de configuració de l'entorn /etc/default/varnish està obsolet i ja no es considera.

Heu de copiar el fitxer /lib/systemd/system/varnish.service a /etc/systemd/system/ i fer-hi alguns canvis.

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

Heu de modificar la directiva de servei ExecStart, que defineix les opcions d'execució del dimoni de vernís. Estableix el valor de la marca -a, que defineix el vernís del port que escolta, de 6081 a 80.

8. Per efectuar els canvis anteriors al fitxer de la unitat de servei de vernís, executeu l'ordre systemctl següent:

$ sudo systemctl daemon-reload

9. A continuació, configureu Apache com a servidor de fons per al servidor intermediari de Varnish, al fitxer de configuració /etc/varnish/default.vcl.

# sudo vi /etc/varnish/default.vcl 

Mitjançant la secció de fons, podeu definir l'IP de l'amfitrió i el port per al vostre servidor de contingut. La següent és la configuració de backend predeterminada que utilitza l'host local (configureu-la perquè apunti al vostre servidor de contingut real).

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

10. Un cop hàgiu realitzat tota la configuració anterior, reinicieu el dimoni Apache i Varnish escrivint les ordres següents.

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

Pas 3: prova la memòria cau de vernís a Apache

11. Finalment, comproveu si la memòria cau de Varnish està activada i funciona amb el servidor HTTP Apache mitjançant l'ordre cURL següent per veure la capçalera HTTP.

$ curl -I http://localhost

Això és! Per obtenir més informació sobre Varnish Cache, visiteu: https://github.com/varnishcache/varnish-cache

En aquest tutorial, hem explicat com configurar Varnish Cache 5.2 per al servidor HTTP Apache als sistemes Debian i Ubuntu. Podeu compartir qualsevol reflexió o consulta amb nosaltres mitjançant els comentaris que trobareu a continuació.