Installazione di Varnish Cache su Ubuntu 18

In questo articolo andremo a descrivere come installare Varinish Cache su Ubuntu 18.

Consideriamo di partire da una macchina Ubuntu 18 (qui per l’installazione ) preinstallata ed aggiorniamola

sudo apt-get update

sudo apt-get upgrade

Varnish è definito un accelleratore HTTP per il fatto che si interpone tra la richieste provenienti dall ‘esterno da parte dell’ utente ed un comune web server, in particolare permette di “cachere” i contenuti, in modo da velocizzare successive richieste già fatte da parte dell’ utente.

In questo articolo andremo ad utilizzare come web server Apache, quindi installiamolo

sudo apt-get install apache2

al momento fermiamo il demone di apache2

sudo systemctl stop apache2

sudo systemctl enable apache2

adesso installiamo Varnish Cache

sudo apt-get install varnish

avviamolo ed impostiamo anche l’avvio automatico al boot

sudo systemctl start varnish

sudo systemctl enable varnish

il file di configurazione di Varnish è al seguente percorso

vim /etc/varnish/default.vcl

aprendo il seguente file potremo notare che si aspetta servire un webserver all’interno della stessa macchina su porta 8080 (è possibile cambiarla)

# Default backend definition. Set this to point to your content server.
backend default {
.host = “127.0.0.1”;
.port = “8080”;
}

mentre per il servizio di Varnish riceverà richieste sulla porta 80 in questo esempio

vim /lib/systemd/system/varnish.service

ed andremo a modificare la seguente linea

ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m

con nel nostro caso

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

è possibile cambiare le porte, in quanto di potrebbe pensare di anteporre anche un servizio del tipo HAproxy, e riavviamo il demone dei servizi ed il servizio di Varnish

sudo systemctl daemon-reload

sudo systemctl restart varnish

cambiamo anche la porta del virtualhost su apache e sul file di configurazione delle porte, in particolare

vim /etc/apache2/ports.conf

Listen 8080

vim /etc/apache2/sites-enabled/000-default.conf

la riga della dichiarazione del virtual host

<VirtualHost *:8080>

quindi riavviamo sia Apache che Varnish

sudo systemctl restart varnish

sudo systemctl restart apache2

Verifichiamo che il tutto sia correttamente configurato

sudo curl -I http://localhost_o_ip_server

avremo

HTTP/1.1 200 OK
Date: Sun, 15 Mar 2020 14:27:51 GMT
Server: Apache/2.4.29 (Ubuntu)
Last-Modified: Sun, 15 Mar 2020 13:39:55 GMT
Vary: Accept-Encoding
Content-Type: text/html
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/5.2)
ETag: W/”2aa6-5a0e4d6882f0a-gzip”
Accept-Ranges: bytes
Connection: keep-alive

Varnish fornisce al cuni comandi molto utili, per verificare le statistiche di varnish

sudo varnishstat

verificare i log

sudo varnishlog

ed anche una parte amministrativa (gestita tramite cli) dove poter eseguire operazioni anche più complesse

varnishadm

varnish> help

200
auth <response>
backend.list [-p] [<backend_pattern>]
backend.set_health <backend_pattern> [auto|healthy|sick]

……

……

esempio semplice è la verifica dello stato del server di cache

varnish> status

200
Child in state running

Potrebbero interessarti anche...