Cache Apache · 2 min read · Jan 01, 2026

Cache com o mod_cache do Apache no Debian Etch

Cache com o mod_cache do Apache no Debian Etch

Versão 1.0
Autor: Falko Timme

Este artigo explica como você pode armazenar em cache o conteúdo do seu site com o mod_cache do Apache no Debian Etch. Se você tem um site dinâmico de alto tráfego que gera muitas consultas ao banco de dados a cada solicitação, você pode diminuir drasticamente a carga do servidor armazenando em cache seu conteúdo por alguns minutos ou mais (isso depende de quão frequentemente você atualiza seu conteúdo).

Não dou nenhuma garantia de que isso funcionará para você!

1 Nota Preliminar

Estou assumindo que você tem uma configuração funcional do Apache2 (Apache 2.2.x - antes dessa versão, o mod_cache é considerado experimental) dos repositórios do Debian - a versão do Apache nos repositórios do Debian Etch é 2.2.3, então você deve estar pronto para começar.

Estou usando a raiz do documento /var/www aqui para meu vhost de teste - você deve ajustar isso se sua raiz do documento for diferente.

2 Habilitando o mod_cache

O mod_cache tem dois submódulos que gerenciam o armazenamento em cache, mod_disk_cache (para armazenar conteúdos no disco rígido) e mod_mem_cache (para armazenar conteúdos na memória, que é mais rápido do que o cache em disco). Decida qual você deseja usar e continue com o capítulo 2.1 (mod_disk_cache) ou 2.2 (mod_mem_cache).

2.1 mod_disk_cache

A configuração do mod_disk_cache é armazenada em /etc/apache2/mods-available/disk_cache.conf, então vamos editar esse arquivo:

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

Certifique-se de descomentar a linha CacheEnable disk /, para que a configuração mínima fique assim:

| # a2enmod-note: precisa-de-configuração CacheRoot /var/cache/apache2/mod_disk_cache # Se você habilitar o cache em disco, precisará usar htcacheclean do # pacote apache2-utils para garantir que o cache não cresça indefinidamente. # Veja a página do manual htcacheclean para detalhes. # Atualmente, não há mecanismo no pacote Debian para iniciar o htcacheclean # automaticamente, mas está planejado adicionar tal mecanismo no futuro. CacheEnable disk / CacheDirLevels 5 CacheDirLength 3 |

Você pode encontrar explicações para essas opções de configuração e outras opções de configuração em http://httpd.apache.org/docs/2.2/mod/mod_disk_cache.html.

Agora podemos habilitar o mod_cache e o mod_disk_cache:

a2enmod cache
a2enmod disk_cache

/etc/init.d/apache2 force-reload

Para garantir que nosso diretório de cache /var/cache/apache2/mod_disk_cache não se encha com o tempo, precisamos limpá-lo com o comando htcacheclean. Esse comando faz parte do pacote apache2-utils, que instalamos da seguinte forma:

apt-get install apache2-utils 

Depois, podemos iniciar o htcacheclean como um daemon assim:

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

Isso limpará nosso diretório de cache a cada 30 minutos e garantirá que ele não fique maior que 100MB. Para saber mais sobre o htcacheclean, dê uma olhada em

man htcacheclean

Claro, você não quer iniciar o htcacheclean manualmente toda vez que reiniciar o servidor - portanto, editamos /etc/rc.local…

vi /etc/rc.local

… e adicionamos a seguinte linha a ele, logo antes da linha exit 0:

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

Isso iniciará o htcacheclean automaticamente toda vez que você iniciar o servidor.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.