サーバー設定 · 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なので、問題なく動作するはずです。
ここではテスト用のvhostのためにドキュメントルート/var/wwwを使用しています - ドキュメントルートが異なる場合は調整する必要があります。
2 mod_cacheの有効化
mod_cacheにはキャッシュストレージを管理する2つのサブモジュールがあります。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.confCacheEnable disk /行のコメントを外すことを確認してください。最小限の設定は次のようになります:
| # a2enmod-note: needs-configuration |
これらの設定オプションの説明やさらなる設定オプションについては、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が自動的に起動します。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。