On va d’abord chercher les sources au format tgz : http://www.varnish-cache.org/releases/varnish-cache-2.1.5, et on compile.
# wget http://repo.varnish-cache.org/source/varnish-2.1.5.tar.gz
# tar -xzf varnish-2.1.5.tar.gz
# cd varnish-2.1.5
# ./configure
# make
# sudo make install
Cela fait, le démon varnishd
est installé dans /usr/local/sbin/
et les scripts d’administration se trouvent dans /usr/local/bin/varnishadm
.
On commence à éditer /etc/varnish/default.conf
:
backend default {
.host = "127.0.0.1";
.port = "80";
}
On lance ensuite le démon à la main :
# /usr/local/sbin/varnishd -f /etc/varnish/default.vcl -a127.0.0.1:6081 -S /etc/varnish/secret -Tlocalhost:6082 -s malloc,100M
(Ici, avec -s malloc,100M
on affecte 100Mo de RAM à Varnish ; au passage en production, on pourra lui attribuer 1Go ou même plus. Attention, si on n’utilise pas malloc
, on se retrouve facilement à remplir son disque dur, dans des fichiers situés dans les répertoires /usr/local/var/varnish/*
.)
Désormais varnishd
écoute le port 6081, et va chercher les ressources demandées sur le port 80, où se trouve Apache.
Sur Debian, on va créer un fichier de configuration pour le démarrage du démon. Ce fichier se trouve dans /etc/default/varnish
Et on l’appelle avec la commande /etc/init.d/varnish start
.
Varnish est installé.
On peut voir nos pages à l’adresse http://URLDUSITE:6081/
Dans les entêtes on observe quelque chose du genre :X-Varnish: 1234
ou X-Varnish: 4567 1234
Dans le premier cas, Varnish nous informe qu’il s’agit du 1234e hit qu’il a reçu, et qu’il est allé chercher la ressource sur le backend. Dans le second, il s’agit du 4567e hit, et c’est la ressource qu’il a mise en cache lors du 1234e hit qui a été servie directement, sans appel au backend.
Notre configuration ouvre un port d’administration (localhost:6082), protégé par un secret écrit dans le fichier /etc/varnish/secret
On peut dès lors appeler le script d’administration avec la commandevarnishadm -T localhost:6082 -S /etc/varnish/secret
C’est de là qu’on va piloter les fichiers de configuration.
Pour se faciliter la vie, au moins lors de la mise au point de la configuration, on va adapter ce script http://kristianlyng.wordpress.com/2009/02/18/easy-reloading-of-varnish-vcl/ et le sauvegarder dans /usr/local/bin/varnishreload
.
Dès lors on recharge la configuration /etc/varnish/default.vcl
après chaque modification du fichier via la commande :# varnishreload
Dans un prochain article nous verrons comment structurer ce fichier de configuration de manière à l’optimiser pour des sites sous SPIP.
3 Messages de forum