Lorsque que l’on a des sites en production, il est souvent difficile de provoquer une interruption de services pour appliquer une nouvelle configuration.
Dans le cas de Varnish, il est possible d’utiliser le CLI de Varnish via la commande varnishadm.
Il faudra que vous ayez, au préalable, mis la configuration suivante au lancement de Varnish :
Sur Debian Squeeze, le fichier se trouve dans /etc/default/varnish
#Telnet admin interface listen address and port
VARNISH_ADMIN_LISTEN_ADDRESS=127.0.0.1
VARNISH_ADMIN_LISTEN_PORT=2000
Charger la nouvelle configuration via varnishadm
On lance varnishadm et on obtient le prompt suivant :
root@varnish:~# varnishadm
200
-----------------------------
Varnish Cache CLI 1.0
-----------------------------
Linux,2.6.32-5-686-bigmem,i686,-smalloc,-smalloc,-hcritbit
Type 'help' for command list.
Type 'quit' to close CLI session.
varnish>
On charge ensuite la nouvelle configuration :
varnish> vcl.load new_config /etc/varnish/default.vcl
200
VCL compiled.
La nouvelle configuration est bien chargée, il faut maintenant l’activer.
Activation de la nouvelle configuration via varnishadm
Nous allons tout d’abord lister les configurations disponibles pour notre Varnish :
varnish> vcl.list
200
active 25 boot
available 0 new_config
On peut donc voir qu’il a une configuration active et une autre disponible.
Nous allons maintenant activer la configuration new_config.
varnish> vcl.use new_config
200
Notre nouvelle configuration est donc activée et on peut le vérifier en les listant :
varnish> vcl.list
200
available 21 boot
active 4 new_config