lighttpd + FastCGIでRuby on Railsアプリケーションを動かそうとして、今日2回も↓のエラーを見かけた。
lighttpdでRailsアプリなんて、もう2年以上運用していることもあって、もうすっかり慣れたと思っていたのだが。
2008-09-22 03:30:53: (log.c.75) server started 2008-09-22 03:30:53: (mod_fastcgi.c.1029) the fastcgi-backend /var/www/skip/public/dispatch.fcgi failed to start: 2008-09-22 03:30:53: (mod_fastcgi.c.1033) child exited with status 1 /var/www/skip/public/dispatch.fcgi 2008-09-22 03:30:53: (mod_fastcgi.c.1036) If you're trying to run PHP as a FastCGI backend, make sure you're using the FastCGI-enabled version. You can find out if it is the right one by executing 'php -v' and it should display '(cgi-fcgi)' in the output, NOT '(cgi)' NOR '(cli)'. For more information, check http://trac.lighttpd.net/trac/wiki/Docs%3AModFastCGI#preparing-php-as-a-fastcgi-programIf this is PHP on Gentoo, add 'fastcgi' to the USE flags. 2008-09-22 03:30:53: (mod_fastcgi.c.1340) [ERROR]: spawning fcgi failed. 2008-09-22 03:30:53: (server.c.908) Configuration of plugins failed. Going down.
2回エラーが出た原因の内訳は、、、
- 1回目は、shebangを書き間違えていた
- 2回目は、require文を書き間違えていた
何やってんだよ、俺。。。orz
ちなみに、↑のlighttpd + FastCGIの環境のままデバッグすると非常に原因が追いづらいので、原因を切り分ける際は、一旦WebrickやMongrelで稼動させながら、エラーを再現させて原因を探るのが良いと思います。