clarification du reload

This commit is contained in:
gcolpart 2016-11-10 10:11:10 +01:00
parent d4acf235a6
commit 286759a365

View file

@ -22,12 +22,11 @@ Copyright (c) 2006-2014 Varnish Software AS
### varnishd
<http://www.varnish-cache.org/docs/4.0/reference/varnishd.html>
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=<Nombre de cores CPU> -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