mod_perl2を有効にしてみる(のつづき)

で、前回mod_perl2を有効にして、丸二日ほど経過したわけですが、エントリーの再構築で1回タイムアウトしたぐらいで、ほぼ問題なく動いてくれているようです。

と、ModPerl::Registryを呼び出すだけの設定を追記して、apache2を再起動してみた。さてどうなるのやら。

Soukaku's HENA-CHOKO Blog - mod_perl2を有効にしてみる

まぁ、その後もググって最適な設定はないかと調べていたんですが、とりあえず


eswat2:/etc/apache2# more conf.d/mod_perl2
PerlSetEnv PERL5LIB /var/www/MT3/lib:/var/www/MT3/extlib
<Directory "/var/www/MT3">
  <Files "mt(?!-config).*\.cgi$">
    SetHandler perl-script
  </Files>
  PerlResponseHandler ModPerl::RegistryPrefork
  Options +ExecCGI
  PerlSendHeader On
</Directory>

という感じになっています。

だから chdir を明示的に発行するときは、Apache が prefork(従来のプロセスをforkして並列動作する方式)で動いてることを期待しています。

ここからが本題。mod_perl2のマニュアルによるとmod_perl2にはPrefork専用のハンドラーがあり

mod_perl で chdir - adiary開発日誌

のとおり、"PerlResponseHandler ModPerl::RegistryPrefork"を使うように設定しています。なぜか別のところで見たchdirを明示する設定も入れてあったのですが、"PerlResponseHandler ModPerl::RegistryPrefork"の方が有効になっていたせいなのか、chdirの設定は意味をなしていなかったようです、ウチの場合・・・。

トラックバック(0)

コメントする