relecture
This commit is contained in:
parent
f481f6dc15
commit
833bff1f38
|
@ -24,28 +24,29 @@ Copyright (c) 2006-2014 Varnish Software AS
|
|||
|
||||
<http://www.varnish-cache.org/docs/4.0/reference/varnishd.html>
|
||||
|
||||
`/etc/default/varnish` :
|
||||
~~~
|
||||
# rm /etc/default/varnish*
|
||||
# cp -a /lib/systemd/system/varnish.service /etc/systemd/system
|
||||
# systemctl daemon-reload
|
||||
~~~
|
||||
|
||||
`/etc/systemd/system/varnish.service` :
|
||||
|
||||
~~~
|
||||
umask 022
|
||||
DAEMON_OPTS="-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"
|
||||
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
|
||||
~~~
|
||||
|
||||
Détails de certaines options :
|
||||
|
||||
* `-a` : spécifie {IP,port} sur lequel Varnish écoute pour les requêtes HTTP. On peut ainsi spécifier une IP secondaire pour cœxister avec un autre service HTTP (Apache, Nginx) sur le port 80 (*-a 192.0.2.1:80*) ou alors faire écouter Varnish uniquement en local (*-a 127.0.0.1:8080*) ou encore le faire écouter de partout (*-a 0.0.0.0:80*)
|
||||
* `-a` : spécifie *IP*:*port* sur lequel Varnish écoute pour les requêtes HTTP. On peut ainsi spécifier une IP secondaire pour cœxister 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*)
|
||||
* `-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*)
|
||||
* `-T` : spécifie l'interface d'admin web de Varnish
|
||||
* `-f` : spécifie le fichier des règles Varnish au format VCL (*Varnish Configuration Language*)
|
||||
|
||||
Note 1 : le fichier */etc/default/varnish* [n'est malheureusement plus utilisé avec Systemd](https://bugs.debian.org/749272)
|
||||
|
||||
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)
|
||||
|
||||
### default.vcl
|
||||
|
||||
Les règles Varnish définissent la mise en cache en utilisant une syntaxe particulière : le VCL (*Varnish Configuration Language*).
|
||||
|
@ -59,7 +60,7 @@ backend default {
|
|||
}
|
||||
~~~
|
||||
|
||||
Pour vérifier ses règles :
|
||||
Pour vérifier ses règles (ceci est fait par défaut lors d'un redémarrage) :
|
||||
|
||||
~~~
|
||||
# varnishd -Cf /etc/varnish/default.vcl
|
||||
|
@ -100,7 +101,7 @@ Voyons un exemple simple :
|
|||
sub vcl_recv {
|
||||
|
||||
if (req.http.host ~ "(www\.example\.com|example\.com)") {
|
||||
set req.backend = default;
|
||||
set req.backend_hint = default;
|
||||
}
|
||||
|
||||
if (req.url ~ "^/images") {
|
||||
|
@ -109,7 +110,7 @@ sub vcl_recv {
|
|||
}
|
||||
|
||||
sub vcl_backend_response {
|
||||
if (req.url ~ "\.(png|gif|jpg)$") {
|
||||
if (bereq.url ~ "\.(png|gif|jpg)$") {
|
||||
unset beresp.http.set-cookie;
|
||||
set beresp.ttl = 3600s;
|
||||
}
|
||||
|
@ -296,7 +297,7 @@ Voici un certain nombre d'actions possibles :
|
|||
|
||||
~~~
|
||||
# Renvoyer vers un backend
|
||||
set req.backend = baz;
|
||||
set req.backend_hint = baz;
|
||||
# Supprimer les cookies dans la requête
|
||||
unset req.http.cookie;
|
||||
remove req.http.cookie;
|
||||
|
|
Loading…
Reference in a new issue