コンテンツをキャッシュさせる事により、パフォーマンスを向上させます。
ApacheのManualによれば、実験的なモジュールだそうです。
■ドキュメントキャッシュ機能の導入
$ cd /usr/local/src/httpd-2.2.x
$ ./configure --enable-xxxxxxx
有効にするためには、下記が必要。
--enable-cache //Cache機能を有効にする
--enable-disk-cache // Diskキャッシュを使う場合
--enable-mem-cache //Memoryキャッシュを使う場合
その他、ご自身の環境に合わせてオプションを追加してください。
$ make clean ; make
$ su
# make install
Apacheが事前に入っていないのであれば
make cleanは要らないです。
■組み込まれているか確認
# /usr/local/apache2/bin/httpd -M
cache_module (static)
disk_cache_module (static)
mem_cache_module (static)
があればOK。
■設定
# vi /usr/local/apache2/conf/httpd.conf
--- ここから ---
<IfModule mod_cache.c>
<IfModule mod_disk_cache.c>
CacheRoot /usr/local/apache2/cache
CacheEnable disk /
CacheDirLevels 5
CacheDirLength 3
</IfModule>
<IfModule mod_mem_cache.c>
CacheEnable mem /foo
MCacheSize 4096
MCacheMaxObjectCount 100
MCacheMinObjectSize 1
MCacheMaxObjectSize 2048
</IfModule>
</IfModule>
--- ここまで ---
上記をどこか適当に追加。
■解説
DiskCache
MemCache
■DiskCache用にディレクトリ作成
Apacheの実行ユーザの指定が必要
わからない場合は、httpd.conf内のUser Groupを確認
# mkdir CacheRootで指定したPath
# chown apache:apache CacheRootで指定したPath
※実行User apache Group apache の場合
# /usr/local/apache2/bin/apachectl restart
■確認
ブラウザーでCacheEnable diskに指定した先へアクセスし
CacheRootで指定場所にキャッシュデータが書き込まれているか
確認します。いくつかのディレクトリが出来上がってると思います。
url-string以下をキャッシュしない等
設定は他にもいろいろとあります。
機能を知りたい場合は、Apache Document Version 2.2を確認してください。