で、前回mod_perl2を有効にして、丸二日ほど経過したわけですが、エントリーの再構築で1回タイムアウトしたぐらいで、ほぼ問題なく動いてくれているようです。
と、ModPerl::Registryを呼び出すだけの設定を追記して、apache2を再起動してみた。さてどうなるのやら。
Soukaku's HENA-CHOKO Blog - 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の設定は意味をなしていなかったようです、ウチの場合・・・。
コメントする