前回はmod_
今回は、
リバースProxyを使ったキャッシュサーバ
キャッシュ専用のサーバとはどういったものなのでしょうか。仕組みとしては、

こちらの図は、
Originサーバは動的な処理をするため比較的負荷がかかりやすいサーバです。負荷を減らす最も効果的な、
なお、
mod_proxyをインストールする
さて、
mod_
$ sudo /usr/local/apache2/bin/apxs -a -i -c \
${APACHE_SRC_DIR}/modules/proxy/mod_proxy.c \
${APACHE_SRC_DIR}/modules/proxy/proxy_util.c
$ sudo /usr/local/apache2/bin/apxs -a -i -c \
${APACHE_SRC_DIR}/modules/proxy/proxy_http.c
さて、
$ ls -l /usr/local/apache2/modules/*proxy*
-rwxr-xr-x 1 root root 98313 2009-04-30 11:08 /usr/local/apache2/modules/mod_proxy.so
-rwxr-xr-x 1 root root 67865 2009-04-30 11:10 /usr/local/apache2/modules/proxy_http.so
上記の2つのファイルができていれば無事完了です。
それでは、
mod_proxyをサーバに組み込む
それでは実際にmod_
#
# Cache Server Settings
#
LoadModule cache_module modules/mod_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/proxy_http.so
<VirtualHost *:80>
LogLevel debug
ErrorLog /usr/local/apache2/vhosts/www.example.com/logs/cache_error_log
CustomLog /usr/local/apache2/vhosts/www.example.com/logs/cache_access_log common
## Cache Settings
CacheRoot /usr/local/apache2/cache
CacheIgnoreCacheControl On
CacheEnable disk /
CacheMinFileSize 0
CacheMaxFileSize 64000
CacheDirLevels 5
CacheDirLength 3
## Proxy Settings
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:81/
ProxyPassReverse / http://localhost:81/
</VirtualHost>
#
# Origin Server Settings
#
Listen 81
<VirtualHost *:81>
DocumentRoot /usr/local/apache2/vhosts/www.example.com/htdocs
ErrorLog /usr/local/apache2/vhosts/www.example.com/logs/origin_error_log
CustomLog /usr/local/apache2/vhosts/www.example.com/logs/origin_access_log common
</VirtualHost>
設定ファイルを記述したら、
httpd.confの流れ
さて、
まず、
そこで、
Proxyの設定に流れたあとは、
最初にも書いたように、
そのため、
[TIPS] キャッシュされているかどうかを調べる方法
キャッシュがどのように動いているかを調べるのはなかなか難しいところです。そのようなときは、
[Thu Apr 30 11:33:01 2009] [debug] modules/experimental/mod_disk_cache.c(642): disk_cache: Stored headers for URL www.example.com/index.html?
[Thu Apr 30 11:33:01 2009] [debug] modules/experimental/mod_disk_cache.c(744): disk_cache: Body for URL www.example.com/index.html? cached.
正常にキャッシュされたときのlogは上記のようになっています。
最後に
さて、
また、