Mise en cache · 2 min read · Jan 01, 2026

Mise en cache avec mod_cache d'Apache sur Debian Etch

Mise en cache avec mod_cache d’Apache sur Debian Etch

Version 1.0
Auteur : Falko Timme

Cet article explique comment vous pouvez mettre en cache le contenu de votre site web avec mod_cache d’Apache sur Debian Etch. Si vous avez un site web dynamique à fort trafic qui génère de nombreuses requêtes de base de données à chaque demande, vous pouvez réduire considérablement la charge du serveur en mettant en cache votre contenu pendant quelques minutes ou plus (cela dépend de la fréquence à laquelle vous mettez à jour votre contenu).

Je ne garantis pas que cela fonctionnera pour vous !

1 Remarque préliminaire

Je suppose que vous avez une configuration Apache2 fonctionnelle (Apache 2.2.x - avant cette version, mod_cache est considéré comme expérimental) provenant des dépôts Debian - la version d’Apache dans les dépôts Debian Etch est 2.2.3 donc vous devriez être prêt à partir.

J’utilise le répertoire racine /var/www ici pour mon vhost de test - vous devez l’ajuster si votre répertoire racine diffère.

2 Activation de mod_cache

mod_cache a deux sous-modules qui gèrent le stockage du cache, mod_disk_cache (pour stocker le contenu sur le disque dur) et mod_mem_cache (pour stocker le contenu en mémoire, ce qui est plus rapide que le cache sur disque). Décidez lequel vous souhaitez utiliser et continuez soit avec le chapitre 2.1 (mod_disk_cache) soit 2.2 (mod_mem_cache).

2.1 mod_disk_cache

La configuration de mod_disk_cache est stockée dans /etc/apache2/mods-available/disk_cache.conf, alors éditons celui-ci :

vi /etc/apache2/mods-available/disk_cache.conf

Assurez-vous de décommenter la ligne CacheEnable disk /, de sorte que la configuration minimale ressemble à ceci :

| # a2enmod-note: needs-configuration CacheRoot /var/cache/apache2/mod_disk_cache # Si vous activez la mise en cache sur disque, vous devez utiliser htcacheclean du # paquet apache2-utils pour vous assurer que le cache ne grandit pas indéfiniment. # Voir la page de manuel htcacheclean pour plus de détails. # Il n'y a actuellement aucun mécanisme dans le paquet Debian pour démarrer htcacheclean # automatiquement, mais il est prévu d'ajouter un tel mécanisme à l'avenir. CacheEnable disk / CacheDirLevels 5 CacheDirLength 3 |

Vous pouvez trouver des explications pour ces options de configuration et d’autres options de configuration sur http://httpd.apache.org/docs/2.2/mod/mod_disk_cache.html.

Maintenant, nous pouvons activer mod_cache et mod_disk_cache :

a2enmod cache
a2enmod disk_cache

/etc/init.d/apache2 force-reload

Pour s’assurer que notre répertoire de cache /var/cache/apache2/mod_disk_cache ne se remplit pas avec le temps, nous devons le nettoyer avec la commande htcacheclean. Cette commande fait partie du paquet apache2-utils que nous installons comme suit :

apt-get install apache2-utils 

Ensuite, nous pouvons démarrer htcacheclean en tant que démon comme ceci :

htcacheclean -d30 -n -t -p /var/cache/apache2/mod_disk_cache -l 100M -i

Cela nettoiera notre répertoire de cache toutes les 30 minutes et s’assurera qu’il ne dépasse pas 100 Mo. Pour en savoir plus sur htcacheclean, jetez un œil à

man htcacheclean

Bien sûr, vous ne voulez pas démarrer htcacheclean manuellement chaque fois que vous redémarrez le serveur - c’est pourquoi nous éditons /etc/rc.local…

vi /etc/rc.local

… et ajoutons la ligne suivante juste avant la ligne exit 0 :

| [...] /usr/sbin/htcacheclean -d30 -n -t -p /var/cache/apache2/mod_disk_cache -l 100M -i [...] |

Cela démarrera htcacheclean automatiquement chaque fois que vous démarrez le serveur.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.