Table des matières

Varnish sur Debian

Installer la dernière version

Source : Install and setup Varnish cache on Debian

Installer

Sauf impossibilité incontournable, il faut installer la version 3 de Varnish. Ce qui suit s'applique à la version 3.

Ne pas installer Varnish en aveugle. Certes, Varnish est directement disponible dans les dépôts officiels de Debian. Toutefois, Debian 6 (Squeeze) doit se contenter de la version 2 alors que Debian 7 (Whezzy) bénéficie de la version 3.

Pour s'assurer de disposer de la bonne version de Varnish, ajouter le dépôt officiel de varnish-cache.org et installer depuis ce dépôt.

# wget -O- http://repo.varnish-cache.org/debian/GPG-key.txt | apt-key add -
# echo "deb http://repo.varnish-cache.org/debian/ squeeze varnish-3.0" >> /etc/apt/sources.list  ; REMPLACER  squeeze par votre version
# apt-get update
# apt-get install varnish
# /etc/init.d/varnish stop

Configurer

Organisation matérielle et fonctionnelle

On se place dans la situation où Varnish est installé sur un système (VM ou matériel) dédié au cache. Ce système ne sert de cache qu'à un seul serveur Apache, implanté sur un autre système, à une autre IP (Varnish est capable de faire bien plus, notamment de la répartition de charge entre plusieurs serveurs).

Configuration système

On sauvegarde la configuration système par défaut avant de l'éditer :

# cp /etc/default/varnish  /etc/default/varnish.dist
# nano /etc/default/varnish

On commente l'“Alternative 2” qui est la configuration par défaut puis, à la fin du fichier, on ajoute notre propre configuation. Le résultat est le suivant :

## Alternative 4, Do It Yourself
#
## Spiderneo customized

DAEMON_OPTS="-a :80 \
             -T localhost:6082 \
 	     -u varnish -g varnish \
             -f /etc/varnish/spiderneo.vcl \
             -S /etc/varnish/secret \
             -s malloc,768m"

Le démon Varnish écoute sur le port 80 (http). Les requêtes d'administration de Varnish sont autorisées en local, sur le port 6082. La configuration applicative se trouve dans un fichier spécifique. Le système dédié au cache dispose de 1Go.

Configuration applicative

Que doit cacher Varnish ? Comment ? Il n'y a pas de réponse universelle à ces questions. Tout dépend de ce que l'application web est capable de gérer et du comportement souhaité.

À titre d'exemple voici une configuration conçue pour une application Drupal 7, servie en fcgid par Apache, utilisant APC : spiderneo.vcl. Le serveur Apache étant sur un autre système, nous avons choisi de le laisser écouter sur le port 80.

Notre fichier étant disponible sur internet, on l'installera en le téléchargeant avant de faire, si besoin, des ajustements :

# cd /etc/varnish
# wget http://hotline.asdrad.com/_media/spiderneo.vcl
# nano spiderneo.vcl      ; OPTIONNEL

Source : PERFORMANCE, ACCÉLÉRER DRUPAL 7 AVEC APACHE ET VARNISH.

Administrer

Pour accéder à l'administration :

# varnishadm -T localhost:6082 -S /etc/varnish/secret 

conformément à la configuration système indiquée précédemment.