キーワード  
☆ カテゴリー ☆
  序章
  動作環境
  インストール
  設定
    ├システム
    ├SSHサーバー
    ├  Webサーバー
    ├Mailサーバー
    ├FTPサーバー
    ├ファイルサーバー
    ├PHP
    ├DBサーバー
    └その他
  Webminでの設定
  チューニング
  ウィンドウシステム
  ウィンドウマネージャー
  スクリプト言語
  システム管理
  デスクトップアプリケーション
  サーバーサイドアプリケーション
  コマンド
  印刷
  シェル・シェルスクリプト
  落書き
  備考
  HD-BSD
  基本操作
  自宅サーバー
  apache22のキャッシュ機能を利用してみる
   戻る




外国旅行に日本のテレビを連れて行こう。

ネット環境さえあれば、どこからでも テレビが見えます。

観るだけでなく 録る 操る 操作する

 新しい 生活が始まる!!

     ロケーションフリー



・・・管理モードON・・・

設定
Webサーバー

apache22のキャッシュ機能を利用してみる

キャッシュ用ディレクトリを作成します。

mkdir /home/tmp/httpd/disk_cache
chown www:www /home/tmp/httpd/disk_cache


/usr/local/etc/apache22/Includes/mod_disk_cache.conf


/ 以下をキャッシュする場合の apache の設定です。

#
# Apache mod disk cache Configuration
#

# LoadModule cache_module modules/mod_cache.so


# LoadModule disk_cache_module modules/mod_disk_cache.so

CacheRoot /home/tmp/httpd/disk_cache
CacheEnable disk /
CacheDirLevels 5
CacheDirLength 3
CacheDefaultExpire 86400

# On のとき、キャッシュされているコンテンツを返さないようにクライアントから
# 要求されても無視する
CacheIgnoreCacheControl On

# Last-Modifiedによる最終修正時刻がないドキュメントはキャッシュされない。
# CacheIgnoreNoLastMod を On にすると、Last-Modified 日時がなくても
# キャッシュされるようになる
CacheIgnoreNoLastMod On


#LoadModule mem_cache_module modules/mod_mem_cache.so

CacheEnable mem /
MCacheSize 4096
MCacheMaxObjectCount 100
#MCacheMinObjectSize 1
MCacheMaxObjectSize 2048




/dir1 と /dir2 以下のみキャッシュしたいなら、下記のような設定をします。

CacheEnable disk /dir1
CacheEnable disk /dir2


キャッシュのクリーンナップには、 htcacheclean を利用します。

htcachecleanの設定

デーモン化するか、手動で実行するかを選ぶことができますが、デーモン化する設定の場合。

sudo vi /etc/rc.conf


htcacheclean_enable="YES"
htcacheclean_cache="/home/tmp/httpd/disk_cache"
htcacheclean_cachelimit="1024M"


htcachecleanの起動

% sudo /usr/local/etc/rc.d/htcacheclean start
Starting htcacheclean.


% ps auxww|fgrep htcache
root 3984 3.4 0.4 4696 1840 ?? Rs 12:47AM 0:00.40
/usr/local/sbin/htcacheclean -p/home/tmp/httpd/disk_cache -d60 -l1024M -t -n -i






HTMLページの場合は 〜 の間に以下の3行を書きます。





Perl/CGIの場合は HTTPヘッダで以下のような出力をします。
print "Content-type: text/htmln";
print "Pragma: no-cachen";
print "Cache-Control: no-cachen";
print "Expires: Thu, 01 Dec 1994 16:00:00 GMTnn";


PHP/CGIの場合は Perlと同じくHTTPヘッダに以下のような出力をします。
header("Content-Type: text/html; charset=文字コード");
header("Expires: Thu, 01 Dec 1994 16:00:00 GMT");
header("Last-Modified: ". gmdate("D, d M Y H:i:s"). " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");


ワードやエクセルファイルなどの場合は サーバの設定を変更して、HTTPヘッダを追加します。
サーバが Apache の場合は、httpd.conf で以下の設定を加えます。

Header set Pragma no-cache
Header set Cache-Control no-cache
Header set Expires "Thu, 01 Dec 1994 16:00:00 GMT"



ただし、これらの設定によってキャッシュを完全に抑止できる訳ではありません。
ブラウザの種類やバージョンやバグによって、上記の指定が無効だったり、
ネットワーク上のプロキシサーバーがキャッシュしてしまったりする場合があります。










☆☆☆☆☆   こんな記事もあります。   ☆☆☆☆☆

NO5 sshの設定
起動時間を短縮
音を出す。
Webmin文字化け修正
印刷
スパム ウィルス 撃退
webdavを利用する
apache22のキャッシュ機能を利用してみる
インプレッション         インプレッションを書く

Copyright 2006B-CITY. All rights reserved.