CentOS5.0に付属のApacheに設定をします。
バージョンは2.2.3でした。

httpd.confに「Include conf.d/*.conf」がすでに記述してあるので、conf.d配下に外部ファイルとして定義します。

まず、mod_proxy.confの作成をします。

————————————————————–

ProxyRequests Off #フォワードプロキシ機能を無効にする

Order deny,allow
Allow from all

ProxyPass / http://192.168.1.111/
ProxyPassReverse / http://192.168.1.111/
————————————————————–

今回は、すべてのリクエストを「192.168.1.111」転送するように設定しました。

次に、キャッシュの設定のためにmod_cache.confを作成します。

————————————————————–


<IfModule mod_cache.c>
#Last-Modified 日時が指定されていない ドキュメントでもキャッシュするように指定できます。
CacheIgnoreNoLastMod On
#ディスクキャッシュヲの場合
CacheEnable disk /
#メモリキャッシュヲ用の場合
# CacheEnable mem /

<IfModule mod_disk_cache.c>
CacheRoot “/var/cache/mod_proxy”
CacheDirLevels 1
CacheDirLength 3
</IfModule>

<IfModule mod_mem_cache.c>
MCacheSize 700000
MCacheMaxObjectCount 9000
MCacheMinObjectSize 1
MCacheMaxObjectSize 80000
MCacheMaxStreamingBuffer 80000
CacheIgnoreCacheControl On
CacheStorePrivate On
</IfModule>
</IfModule>

————————————————————–

※各ディレクティブの詳細は、こちら

ちなみに、mod_mem_cacheは、プロセス毎にメモリを確保しキャッシュします。

デフォルトのMPMは、「prefork」。キャッシュを共有しないので、効率が悪いです。なので「worker」に変更します。

RPM版のApacheには、すでにインストールされているので、

/etc/sysconfig/httpdを以下のように変更すれば、workerで動作します。

HTTPD=/usr/sbin/httpd.worker