FastCGI再び
rails testで作った方は、ちゃんとFastCGIで動いているのに、Windows上で作ったものをSVNから持ってきたものは動かない。
比べてみると、RAILS_ROOT/configにlighttpd.confというファイルがない。中身にはtestに依存してそうな記述は無さ気なのでtestの奴をそのままコピー。でも以下のエラーが発生。
takeshi@july2001:~/wp1r$ ruby script/server => Booting lighttpd (use 'script/server webrick' to force WEBrick) => Rails application started on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server (see config/lighttpd.conf for options) 2006-05-26 02:45:08: (mod_fastcgi.c.1022) execve failed for: RAILS_ROOT/public/dispatch.fcgi No such file or directory 2006-05-26 02:45:08: (mod_fastcgi.c.1048) the fastcgi-backend RAILS_ROOT/public/dispatch.fcgi failed to start: 2006-05-26 02:45:08: (mod_fastcgi.c.1052) child exited with status 2 RAILS_ROOT/public/dispatch.fcgi 2006-05-26 02:45:08: (mod_fastcgi.c.1055) if you try do run PHP as FastCGI backend make sure you use 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://www.lighttpd.net/documentation/fastcgi.html#preparing-php-as-a-fastcgi-program 2006-05-26 02:45:08: (mod_fastcgi.c.1060) If this is PHP on Gentoo add fastcgi to the USE flags 2006-05-26 02:45:08: (mod_fastcgi.c.1356) [ERROR]: spawning fcgi failed. 2006-05-26 02:45:08: (server.c.834) Configuration of plugins failed. Going down. Exiting
よくよく比較してみると、dispatch.fcgiの先頭の
#!c:/dev/ruby.org/ruby/bin/ruby
という記述がある。これを
#!/usr/bin/ruby1.8 ###### #!c:/dev/ruby.org/ruby/bin/ruby
とかしてみたら動いた。なんでー?これってコメントじゃないの?・・・何かの間違いじゃ・・・と思って元に戻してみたらやっぱり動かん。きっと#!に何か意味があるのね。