diff --git a/HowtoVarnish.md b/HowtoVarnish.md index 7b9e70f6..99ec18d8 100644 --- a/HowtoVarnish.md +++ b/HowtoVarnish.md @@ -22,12 +22,11 @@ Copyright (c) 2006-2014 Varnish Software AS ### varnishd - +Le fichier `/etc/default/varnish` [n'est plus utilisé en Debian 8 avec Systemd](https://bugs.debian.org/749272). Malheureusement cela provoque un bug : le script `/usr/share/varnish/reload-vcl` l'utilise toujours... pour éviter toute confusion, on supprime */etc/default/varnish* et l'on remplace *ExecReload=* par un script minimal. ~~~ # rm /etc/default/varnish* # cp -a /lib/systemd/system/varnish.service /etc/systemd/system -# systemctl daemon-reload ~~~ `/etc/systemd/system/varnish.service` : @@ -36,18 +35,26 @@ Copyright (c) 2006-2014 Varnish Software AS ExecStart=/usr/sbin/varnishd -a 0.0.0.0:80 -T localhost:6082 -f /etc/varnish/default.vcl \ -S /etc/varnish/secret -s malloc,2G \ -p thread_pools= -p thread_pool_add_delay=2 -p thread_pool_min=500 -p thread_pool_max=5000 +ExecReload=/etc/varnish/reload-vcl.sh ~~~ -Détails de certaines options : +`/etc/varnish/reload-vcl.sh` : + +~~~{.bash} +#!/bin/sh +UUID=`cat /proc/sys/kernel/random/uuid` +/usr/bin/varnishadm -T localhost:6082 -S /etc/varnish/secret "vcl.load vcl_$UUID /etc/varnish/default.vcl" \ + && /usr/bin/varnishadm -T localhost:6082 -S /etc/varnish/secret "vcl.use vcl_$UUID" +~~~ + +Détails de certaines options de [varnishd](http://www.varnish-cache.org/docs/4.0/reference/varnishd.html) : * `-a` : spécifie *IP*:*port* sur lequel Varnish écoute pour les requêtes HTTP. On peut ainsi spécifier une IP secondaire pour coexister avec un autre service HTTP (Apache, Nginx) sur le port 80 (*-a 192.0.2.1:80*) ou faire écouter Varnish uniquement en local (*-a 127.0.0.1:8080*) ou alors le faire écouter de partout (*-a 0.0.0.0:80*) ou même spécifier plusieurs IP (*-a 0.0.0.0:80,127.0.0.1:81*) * `-T` : spécifie l'interface d'admin de Varnish, accessible avec `varnishadm` * `-f` : spécifie le fichier des règles Varnish au format VCL (*Varnish Configuration Language*) * `-s` : spécifie où est stocké le cache. Cela peut être en mémoire (*-s malloc,2G*) et/ou dans un fichier (*-s file,varnish_storage.bin,8G*) -Note 1 : le fichier */etc/default/varnish* [n'est malheureusement plus utilisé avec Systemd](https://bugs.debian.org/749272). Cependant il reste toujours utilisé par `/etc/init.d/varnish reload` qui ne fait pas appel à systemd ! - -Note 2 : avant Debian 8, [Varnish ne supportait pas d'être lancé avec *umask 077*, c'est corrigé en Debian Jessie](https://bugs.debian.org/696504) +Note : avant Debian 8, [Varnish ne supportait pas d'être lancé avec *umask 077*, c'est corrigé en Debian Jessie](https://bugs.debian.org/696504) ### default.vcl