2009年9月13日日曜日

httpd.confで「EnableSendfile Off」の設定

職場のTeraStationにWEBサーバのデータをバックアップしています。
単に、データのバックアプしているだけではつまらないので、CentOSが動作しているサーバからマウントし、CentOS上で起動しているapacheから利用できないか?と検討してみた。簡単に出来ると思ったが、以外と苦戦したので、その記録を残しておきます。
CentOSからTeraStationをマウントする方法は以前書いたので省略。
あとは、普通に Alias を設定するのみと思ったが、ブラウザで表示してみたところ、何も表示しません(エラーが出るわけでもない)。それで色々調査(検索)してみたところ、「EnableSendfile」というディレクティブが関係しそうです。
---------------以下は引用------------------------------------
ネットワークマウントされた DocumentRoot (例えば NFS や SMB) では、カーネルは自身のキャッシュを使ってネットワークからのファイルを 送ることができないことがあります。
これらの問題に当てはまるサーバの設定の場合は、以下のようにして この機能を使用不可にしてください:
EnableSendfile Off

--------------引用ここまで------------------------------------
Alias /db/ "/mnt/terastation/"

EnableSendfile Off

として、apache再起動で正しく表示できるようになりました。

EnableSendfileディレクティブの説明では以下のようあります。
ファイルのクライアントへの配送時にカーネルの sendfile サポートを使うかどうか
が、カーネルのsendfile・・・というところで、実はよく理解できていません。まだまだ勉強不足です。

0 件のコメント:

コメントを投稿

What A Wonderful World - ルイ・アームストロング  名曲です。

  きょうは、ルイ・アームストロングの「What A Wonderful World 」です。  コロナ禍時こそ、この歌を聞きたくなりました。  なんて、素晴らしい世界なんだー!   素晴らしい世界は身近なことにあることを教えてくれる曲です。  この曲を知ったきっかけは、予備校時...