Varnish , un de plus
Bon toujours dans l’idée que l’on peut améliorer la vitesse d’un site, pour faire plaisir à M Google entre autre,
Je me lance dans varnish .
Donc Debian squeeze pour ne pas changer :
Ajout du dépot de la 3.0 dans l’apt sources
deb http://repo.varnish-cache.org/debian/ squeeze varnish-3.0
aptitude update, aptitude upgrade et aptitude install varnish
ensuite, dans le /etc/default/varnish, et /etc/default/varnishncsa j’active les daemons .
restart en init.d des 2 .
La configuration … la j’ai cherché mais bcp de copier coller du net ne fonctionne pas correctement, avec la partie admin de wordpress .
Une vague histoire de cookie .
sub vcl_recv {
if (req.http.Accept-Encoding) {
#revisit this list
if (req.url ~ « \.(gif|jpg|jpeg|swf|flv|mp3|mp4|pdf|ico|png|gz|tgz|bz2)(\?.*|)$ ») {
remove req.http.Accept-Encoding;
} elsif (req.http.Accept-Encoding ~ « gzip ») {
set req.http.Accept-Encoding = « gzip »;
} elsif (req.http.Accept-Encoding ~ « deflate ») {
set req.http.Accept-Encoding = « deflate »;
} else {
remove req.http.Accept-Encoding;
}
}
if (req.url ~ « \.(gif|jpg|jpeg|swf|css|js|flv|mp3|mp4|pdf|ico|png)(\?.*|)$ ») {
unset req.http.cookie;
set req.url = regsub(req.url, « \?.*$ », « »);
}
if (req.url ~ « \?(utm_(campaign|medium|source|term)|adParams|client|cx|eid|fbid|feed|ref(id|src)?|v(er|iew))= ») {
set req.url = regsub(req.url, « \?.*$ », « »);
}
if (req.http.cookie) {
if (req.http.cookie ~ « (wordpress_|wp-settings-) ») {
return(pass);
} else {
unset req.http.cookie;
}
}
}
sub vcl_fetch {
# Get the response. Set the cache lifetime of the response to 1 hour.
set beresp.ttl = 24h;
# Indicate that this response is cacheable. This is important.
set beresp.http.X-Cacheable = « YES »;
set beresp.do_gzip = »YES »;
if (req.url ~ « wp-(login|admin) » || req.url ~ « preview=true » || req.url ~ « xmlrpc.php ») {
return (hit_for_pass);
}
if ( (!(req.url ~ « (wp-(login|admin)|login) »)) || (req.request == « GET ») ) {
unset beresp.http.set-cookie;
}
if (req.url ~ « \.(gif|jpg|jpeg|swf|css|js|flv|mp3|mp4|pdf|ico|png)(\?.*|)$ ») {
set beresp.ttl = 365d;
}
}
et la ça roule .
Pour le reste comme toujours, il faut voir dans le temps si ça tient la route .