cos’è varnish cache?
Varnish cache (link ufficiale: https://varnish-cache.org/) è un reverse proxy per protocollo HTTP usato per migliorare la gestione delle richieste, in special modo nei siti dinamici (ad esempio creati con WordPress). Senza scendere nelle specifiche tecniche di come esegue questa gestione, Varnish permette di velocizzare notevolmente le richieste al proprio sito web mantenendole in memoria e ottimizzandole automaticamente (gzip ecc). Questo permette anche di diminuire il carico sul server Apache.
installare varnish cache e configurare apache server
Questa guida si riferisce all’ultima versione Varnish (4.0 attualmente) e al sistema operativo CentOs 7.x.
Prima di procedere all’installazione di varnish è utile avere già installato Apache Server e assicurarsi che il proprio sito web è visibile e funzionante, inoltre è necessario aggiungere il repository EPEL per yum (di solito è standard averlo già). Entrate in ssh con accesso root al server per installare varnish cache.
Diamo un update a yum con il comando (ovviamente con il comando sudo, se necessario):
yum -y update
A questo punto possiamo installare varnish cache:
yum -y install varnish
Ora è possibile attivare varnish:
systemctl enable varnish
Varnish deve essere posto prima di Apache nella lettura e gestione delle richieste. La porta standard di ascolto Apache è la numero 80, è quindi necessario modificare la porta di Apache a quella di Varnish per poterlo utilizzare correttamente. Sempre da ssh vediamo come farlo.
Modifichiamo prima il valore dei varnish.params con:
vi varnish.params
Su VARNISH_LISTEN_PORT inseriamo 80, in questo modo Varnish leggerà le richieste per primo e non Apache.
Vediamo il file di configurazione (default.vcl) di Varnish (la cartella può anche differire, di norma è etc):
vi /etc/varnish/default.vcl
La parte che interessa è:
backend default{ .host = “XXX.XXX.XXX.XXX”; .port = “XXX”; }
Su host inserite l’indirizzo del vostro server (o localhost), su port inserite la porta 8080 (se non è già di default).
Ora è necessario modificare la configurazione di Apache per ascoltare sulla porta 8080 e non 80. Utilizziamo il comando (indifferentemente dalla propria versione e posizione di Apache, bisogna modificare il file httpd.conf o apache.conf):
vi /etc/httpd/conf/httpd.conf
Scendiamo fino alla riga dove c’è scritto “Listen 80” e modifichiamo in “Listen 8080” (senza doppi apici ovviamente). Salviamo e riavviamo Apache:
systemctl stop httpd systemctl start httpd
E, per finire, facciamo partire varnish:
systemctl start varnish
pulire la cache varnish
Varnish può necessitare, di volta in volta (e a seconda delle modifiche che stiamo facendo nel sito) di ripulire la propria memoria. Per farlo sarà sufficiente fermarlo e riavviarlo:
systemctl stop varnish systemctl start varnish