서버 설정 · 1 min read · Jan 01, 2026

Apache의 mod_cache를 사용한 Debian Etch에서의 캐싱

Apache의 mod_cache를 사용한 Debian Etch에서의 캐싱

버전 1.0
저자: Falko Timme

이 문서에서는 Debian Etch에서 Apache의 mod_cache를 사용하여 웹 사이트 콘텐츠를 캐시하는 방법을 설명합니다. 각 요청에서 많은 데이터베이스 쿼리를 생성하는 고트래픽 동적 웹 사이트가 있는 경우, 콘텐츠를 몇 분 이상 캐시하여 서버 부하를 극적으로 줄일 수 있습니다(이는 콘텐츠를 얼마나 자주 업데이트하는지에 따라 다릅니다).

이 방법이 당신에게 효과가 있을 것이라는 보장은 하지 않습니다!

1 사전 참고

Apache2 설정이 제대로 작동한다고 가정합니다(Apache 2.2.x - 그 이전 버전에서는 mod_cache가 실험적입니다) Debian 저장소에서 - Debian Etch 저장소의 Apache 버전은 2.2.3이므로 문제없이 사용할 수 있습니다.

테스트 가상 호스트를 위해 여기서는 문서 루트 /var/www를 사용하고 있습니다 - 문서 루트가 다르다면 조정해야 합니다.

2 mod_cache 활성화

mod_cache에는 캐시 저장소를 관리하는 두 개의 하위 모듈이 있습니다. mod_disk_cache(하드 드라이브에 콘텐츠 저장용)와 mod_mem_cache(메모리에 콘텐츠 저장용, 디스크 캐싱보다 빠름)입니다. 사용할 모듈을 결정하고 2.1장(mod_disk_cache) 또는 2.2장(mod_mem_cache) 중 하나를 계속 진행하세요.

2.1 mod_disk_cache

mod_disk_cache 구성은 /etc/apache2/mods-available/disk_cache.conf에 저장되므로 해당 파일을 편집합시다:

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

CacheEnable disk / 줄의 주석을 제거하여 최소 구성은 다음과 같아야 합니다:

| # a2enmod-note: needs-configuration CacheRoot /var/cache/apache2/mod_disk_cache # 디스크 캐싱을 활성화하면 캐시가 무한정 커지지 않도록 apache2-utils 패키지의 htcacheclean을 사용해야 합니다. # 자세한 내용은 htcacheclean 매뉴얼 페이지를 참조하세요. # 현재 Debian 패키지에는 htcacheclean을 자동으로 시작하는 메커니즘이 없지만, # 향후 그러한 메커니즘을 추가할 계획입니다. CacheEnable disk / CacheDirLevels 5 CacheDirLength 3 |

이 구성 옵션에 대한 설명과 추가 구성 옵션은 http://httpd.apache.org/docs/2.2/mod/mod_disk_cache.html에서 확인할 수 있습니다.

이제 mod_cache와 mod_disk_cache를 활성화할 수 있습니다:

a2enmod cache
a2enmod disk_cache

/etc/init.d/apache2 force-reload

캐시 디렉토리 /var/cache/apache2/mod_disk_cache가 시간이 지남에 따라 가득 차지 않도록 htcacheclean 명령으로 정리해야 합니다. 해당 명령은 다음과 같이 설치하는 apache2-utils 패키지의 일부입니다:

apt-get install apache2-utils 

그 후, 다음과 같이 htcacheclean을 데몬으로 시작할 수 있습니다:

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

이 명령은 30분마다 캐시 디렉토리를 정리하고 100MB를 초과하지 않도록 합니다. htcacheclean에 대해 더 알고 싶다면 다음을 확인하세요:

man htcacheclean

물론, 서버를 재부팅할 때마다 htcacheclean을 수동으로 시작하고 싶지는 않을 것입니다 - 따라서 /etc/rc.local을 편집합니다…

vi /etc/rc.local

… 그리고 exit 0 줄 바로 앞에 다음 줄을 추가합니다:

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

이렇게 하면 서버를 시작할 때마다 htcacheclean이 자동으로 시작됩니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.