Caching · 2 min read · Jan 01, 2026

Caching Mit Apaches mod_cache Auf Debian Etch

Caching Mit Apaches mod_cache Auf Debian Etch

Version 1.0
Autor: Falko Timme

Dieser Artikel erklärt, wie Sie die Inhalte Ihrer Website mit Apaches mod_cache auf Debian Etch cachen können. Wenn Sie eine stark frequentierte dynamische Website haben, die bei jeder Anfrage viele Datenbankabfragen generiert, können Sie die Serverlast erheblich reduzieren, indem Sie Ihre Inhalte für einige Minuten oder länger cachen (das hängt davon ab, wie oft Sie Ihre Inhalte aktualisieren).

Ich gebe keine Garantie, dass dies für Sie funktioniert!

1 Vorbemerkung

Ich gehe davon aus, dass Sie eine funktionierende Apache2-Installation (Apache 2.2.x - vor dieser Version gilt mod_cache als experimentell) aus den Debian-Repositories haben - die Apache-Version in den Debian Etch-Repositories ist 2.2.3, also sollten Sie bereit sein.

Ich verwende hier das Dokumentenstammverzeichnis /var/www für meinen Test-vhost - Sie müssen dies anpassen, wenn Ihr Dokumentenstammverzeichnis anders ist.

2 Aktivieren von mod_cache

mod_cache hat zwei Untermodule, die den Cache-Speicher verwalten, mod_disk_cache (zum Speichern von Inhalten auf der Festplatte) und mod_mem_cache (zum Speichern von Inhalten im Speicher, was schneller ist als das Caching auf der Festplatte). Entscheiden Sie, welches Sie verwenden möchten, und fahren Sie entweder mit Kapitel 2.1 (mod_disk_cache) oder 2.2 (mod_mem_cache) fort.

2.1 mod_disk_cache

Die Konfiguration von mod_disk_cache wird in /etc/apache2/mods-available/disk_cache.conf gespeichert, also lassen Sie uns diese bearbeiten:

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

Stellen Sie sicher, dass Sie die Zeile CacheEnable disk / auskommentieren, sodass die minimale Konfiguration wie folgt aussieht:

| # a2enmod-note: needs-configuration CacheRoot /var/cache/apache2/mod_disk_cache # Wenn Sie das Caching auf der Festplatte aktivieren, müssen Sie htcacheclean aus dem # Paket apache2-utils verwenden, um sicherzustellen, dass der Cache nicht unbegrenzt wächst. # Siehe die htcacheclean-Man-Seite für Details. # Derzeit gibt es im Debian-Paket keinen Mechanismus, um htcacheclean # automatisch zu starten, aber es ist geplant, einen solchen Mechanismus in Zukunft hinzuzufügen. CacheEnable disk / CacheDirLevels 5 CacheDirLength 3 |

Sie finden Erklärungen zu diesen Konfigurationsoptionen und weiteren Konfigurationsoptionen auf http://httpd.apache.org/docs/2.2/mod/mod_disk_cache.html.

Jetzt können wir mod_cache und mod_disk_cache aktivieren:

a2enmod cache
a2enmod disk_cache

/etc/init.d/apache2 force-reload

Um sicherzustellen, dass unser Cache-Verzeichnis /var/cache/apache2/mod_disk_cache im Laufe der Zeit nicht voll wird, müssen wir es mit dem Befehl htcacheclean reinigen. Dieser Befehl ist Teil des Pakets apache2-utils, das wir wie folgt installieren:

apt-get install apache2-utils 

Anschließend können wir htcacheclean als Daemon wie folgt starten:

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

Dies wird unser Cache-Verzeichnis alle 30 Minuten reinigen und sicherstellen, dass es nicht größer als 100 MB wird. Um mehr über htcacheclean zu erfahren, werfen Sie einen Blick auf

man htcacheclean

Natürlich möchten Sie htcacheclean nicht jedes Mal manuell starten, wenn Sie den Server neu starten - daher bearbeiten wir /etc/rc.local…

vi /etc/rc.local

… und fügen die folgende Zeile direkt vor der Zeile exit 0 hinzu:

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

Dies wird htcacheclean automatisch jedes Mal starten, wenn Sie den Server starten.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.