Caching · 2 min read · Jan 01, 2026

Caching Con mod_cache di Apache Su Debian Etch

Caching Con mod_cache di Apache Su Debian Etch

Versione 1.0
Autore: Falko Timme

Questo articolo spiega come puoi memorizzare nella cache i contenuti del tuo sito web con mod_cache di Apache su Debian Etch. Se hai un sito web dinamico ad alto traffico che genera molte query al database ad ogni richiesta, puoi ridurre drasticamente il carico del server memorizzando nella cache i tuoi contenuti per alcuni minuti o più (questo dipende da quanto spesso aggiorni i tuoi contenuti).

Non rilascio alcuna garanzia che questo funzionerà per te!

1 Nota Preliminare

Presumo che tu abbia una configurazione funzionante di Apache2 (Apache 2.2.x - prima di quella versione, mod_cache è considerato sperimentale) dai repository Debian - la versione di Apache nei repository Debian Etch è 2.2.3 quindi dovresti essere a posto.

Sto usando la root del documento /var/www qui per il mio vhost di test - devi regolare questo se la tua root del documento è diversa.

2 Abilitare mod_cache

mod_cache ha due sottomoduli che gestiscono la memorizzazione nella cache, mod_disk_cache (per memorizzare i contenuti sul disco rigido) e mod_mem_cache (per memorizzare i contenuti in memoria, che è più veloce della memorizzazione nella cache su disco). Decidi quale vuoi usare e continua o con il capitolo 2.1 (mod_disk_cache) o 2.2 (mod_mem_cache).

2.1 mod_disk_cache

La configurazione di mod_disk_cache è memorizzata in /etc/apache2/mods-available/disk_cache.conf, quindi modifichiamo quello:

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

Assicurati di decommentare la linea CacheEnable disk /, in modo che la configurazione minima appaia come segue:

| # a2enmod-note: needs-configuration CacheRoot /var/cache/apache2/mod_disk_cache # Se abiliti la memorizzazione nella cache su disco, devi usare htcacheclean dal # pacchetto apache2-utils per garantire che la cache non cresca indefinitamente. # Vedi la pagina man di htcacheclean per dettagli. # Attualmente non esiste un meccanismo nel pacchetto Debian per avviare htcacheclean # automaticamente, ma è previsto di aggiungere un tale meccanismo in futuro. CacheEnable disk / CacheDirLevels 5 CacheDirLength 3 |

Puoi trovare spiegazioni per queste opzioni di configurazione e ulteriori opzioni di configurazione su http://httpd.apache.org/docs/2.2/mod/mod_disk_cache.html.

Ora possiamo abilitare mod_cache e mod_disk_cache:

a2enmod cache
a2enmod disk_cache

/etc/init.d/apache2 force-reload

Per assicurarci che la nostra directory di cache /var/cache/apache2/mod_disk_cache non si riempia nel tempo, dobbiamo pulirla con il comando htcacheclean. Quel comando fa parte del pacchetto apache2-utils che installiamo come segue:

apt-get install apache2-utils 

Dopo, possiamo avviare htcacheclean come un demone in questo modo:

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

Questo pulirà la nostra directory di cache ogni 30 minuti e garantirà che non superi i 100MB. Per saperne di più su htcacheclean, dai un’occhiata a

man htcacheclean

Certo, non vuoi avviare htcacheclean manualmente ogni volta che riavvii il server - quindi modifichiamo /etc/rc.local…

vi /etc/rc.local

… e aggiungiamo la seguente riga, proprio prima della linea exit 0:

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

Questo avvierà htcacheclean automaticamente ogni volta che avvii il server.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.