11/avr/2012 Posté dans Varnish | 0 commentaire Cela peux se faire avec uniquement wget et egrep mais cela ne cachera pas les image, javascript css et autre fichiers. Cette solution n’utilisera pas d’espace dique.
wget --quiet http://domain.ltd/sitemap.xml -O - | egrep -o "http://domain\.ltd[^<]+" | wget --spider -nv -i -
N’oubliez pas de remplacer domain.ltd par votre domain 
Pour tous crawler, vous pouvez utiliser le script ci-dessous, celui ci mettra en cache toutes les pages, image, css et js
#!/usr/bin/env sh
BIN_DEPS='wget awk grep cut'
# CHECKS
if [ "$1" = "" ]; then
echo "Usage : $0 domain.ltd"
exit 1
else
DOMAIN=$1
fi
for BIN in $BIN_DEPS; do
which $BIN 1>/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "Error: Required file could not be found: $BIN"
exit 1
fi
done
URLS=$(wget -q http://$DOMAIN/sitemap.xml -O - | awk -F'<loc>' '{print $2}' | awk -F '</loc>' '{ print $1 }' | grep -v ^$)
for URL in $URLS; do
PAGE=$(wget -q -O - $URL | grep -o -E 'href="([^"#]+)"' | cut -d'"' -f2 )
SRC=$(wget -q -O - $URL | grep -o -E 'src="([^"#]+)"' | cut -d'"' -f2 )
for LINK in $PAGE $SRC; do
if echo $LINK | grep $DOMAIN | grep -vi feed 1>/dev/null ; then
wget --domains=$DOMAIN -O/dev/null -nv $LINK
fi
done
done
2/nov/2011 Posté dans Systèmes d'exploitation | 0 commentaire Vous pouvez procéder de la manière suivante
location ~* \.(jpg|png|gif|jpeg|css|js|mp3|wav|swf|mov|doc|pdf|xls|ppt|docx|pptx|xlsx)$ {
expires 24h;
log_not_found off;
}
2/nov/2011 Posté dans Nginx | 0 commentaire Vous pouvez utiliser nginx pour cacher ces propres « server ».
Pour cela, l’idée est simple, vous avez un « server » qui ecoute sur votre IP public et vos autre « server » applicatif écoute sur une ip privée ou local
Dans l’exemple de configuration ci-dessous, les « servers » applicatif écoute sur 127.0.0.1:80
server {
listen 111.222.111.2222:80 default;
server_name _;
server_name_in_redirect off;
location / {
set $no_cache "";
if ($request_method !~ ^(GET|HEAD)$) {
set $no_cache "1";
}
if ($no_cache = "1") {
add_header Set-Cookie "_mcnc=1; Max-Age=2; Path=/";
add_header X-Microcachable "0";
}
if ($http_cookie ~* "_mcnc") {
set $no_cache "1";
}
proxy_no_cache $no_cache;
proxy_cache_bypass $no_cache;
proxy_pass http://127.0.0.1;
proxy_cache microcache;
proxy_cache_key $scheme$host$request_method$request_uri;
proxy_cache_valid 200 1s;
proxy_cache_use_stale updating;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_max_temp_file_size 1M;
}
access_log /var/log/nginx/access.log vhosts;
error_log /var/log/nginx/error.log info;
}
Vous devez ajouter dans votre « http » la ligne ci-dessous pour activer le cache Nginx
proxy_cache_path /var/spool/nginx/cache levels=1:2 keys_zone=votreclef:5m max_size=1000m;
Dans cette exemple, ce dossier de cache ne dépassera pas 1000Mo et sera purgé par Nginx
Vous pouvez supprimé la directive access_log pour utiliser l’astuce indiqué dans cet article
4/mar/2010 Posté dans MySQL | 0 commentaire WordPress sans cache, va générer les pages a chaque demande, cela génère donc du temps de « compilation » php, des requêtes MySQL.
Cela peux si vous avez beaucoup de pages, saturer votre serveur lors d’un pique de visite et/ou lorsqu’un moteur vous index.
Pour cela, installer simplement le plugin wp-cache et activez le.
Dans le fichier de configuration wp-config.php vous devez aussi spécifier :
define('WP_CACHE', true);Pour activer le cache de WordPress