2006-01-17 ========== CGI FastCGI, ruby ----------------- Reference URI: http://lowreal.net/logs/2006/01/17/1 Written Time: 2006-01-17T17:09:44+09:00 Tags: ruby cgi web 既存のスクリプトを修正せず、そのまま fcgi 化したい。 Web Server 側の設定の変更だけでいきたい。 fastcgi.server = ( ".rb" => ( "localhos t" => ( "socket " => "/tmp/fcgi-ruby.socket", "bin-path" => "/u sr/local/bin/ruby-fcgi.rb" ) ))とか書くとして (仮定)、ruby-fcgi.rb を考えたい。しかしながら FastCGI の仕組みがい まいちわかってないのでとりあえず保留。 UNIX ソケットであらかじめ起動してある CGI 実行プロセスと通信する?みたいなのはわか るんだけど、実際のとこ、この bin-path に指定したプログラムと、実際にリクエストされたファイルの関係がわからない。普通の CGI (Common Gateway Interface) は引数にリクエストされたファイルを渡すけど、FastCGI はどうなるんだろう。というと ころで、試そうと思うんだけど、ちょっと環境構築に手間取っている。 というか、できるなら既にそういう方法が発見できるはずなんだけど、ないってことはやっ ぱないんだろうか。Ruby に環境を保存しておく機能がないんだっけ。callcc ? - [Matzにっき(2004-07-23) [Ruby]既存の CGI をそのまま FastCGI 対応に](http://www.rubyist.net/~matz/20040723.html#p01) UNIX ソケットで、とは限らないようだ。TCP/IP でもできる (すなわち、別のサーバにもお ける) みたい。 普通の CGI (Common Gateway Interface) は引数にリクエストされたファイルを渡すけど って嘘つきすぎ(w CGI (Common Gateway Interface) はただたんにリクエストされたファイルを起動してるだけだ。shebang を混同してる。 うーん。よくわからん。FastCGI を使ったアプリケーションを作るたびに、HTTPD の設定ファイルも書き換えないといけないんだろうか。 ENV を書き換える方法がないから無理だなこれ。