Installare Varnish cache con Apache Server su Centos7 | Andrea Vigato

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
Andrea Vigato

Author Andrea Vigato

freelance | creazione siti web | consulenza aziendale

More posts by Andrea Vigato