Jul 21, 2006

mod_fcgidで Internal Server Error

ここギコ!: Apache2.2とFastCGI、Subversion

私も同じようなことで嵌った。

Apache 1.3.x + mod_fastcgiのときは問題なかったのだけど、Apache 2.2.2 + mod_fcgidに移行した後、FastCGI + MT 3.31 + SQLiteで月別アーカイブを再構築するたびに500 Internal Server Errorが発生する。MT 3.2やMySQLだと起きない。

なんでや~としばらく悩んだ末、IPCCommTimeoutオプションを設定すればよいことが分かった。このオプションは、FastCGIアプリケーションの通信タイムアウト時間を設定するものでデフォルトでは20秒になっている。これが多分短すぎるのだろうと思って長めに取ってみたら、Internal Server Errorはおさまった。

IPCCommTimeout 60

mod_fastcgiではFastCgiConfigオプションなどのappConnTimeoutパラメータで指定できるが、デフォルトではblocking connectが有効になっている。結局のところOSの規定するTCPタイムアウトに制約されるだけなんじゃないかな。Linuxなら3分くらいだっけ。サーバに使っているFreeBSDはよく分からないけど。

About Me

My Photo

つくばで働く研究者

Total Pageviews

Amazon

Copyright 2012 Ogawa::Buzz | Powered by Blogger
Design by Web2feel | Blogger Template by NewBloggerThemes.com