既存のスクリプトを修正せず、そのまま fcgi 化したい。
Web Server 側の設定の変更だけでいきたい。
fastcgi.server = ( ".rb" => ( "localhost" => ( "socket" => "/tmp/fcgi-ruby.socket", "bin-path" => "/usr/local/bin/ruby-fcgi.rb" ) ))
とか書くとして (仮定)、ruby-fcgi.rb を考えたい。しかしながら FastCGI の仕組みがいまいちわかってないのでとりあえず保留。
UNIX ソケットであらかじめ起動してある CGI 実行プロセスと通信する?みたいなのはわかるんだけど、実際のとこ、この bin-path に指定したプログラムと、実際にリクエストされたファイルの関係がわからない。普通の CGI は引数にリクエストされたファイルを渡すけど、FastCGI はどうなるんだろう。というところで、試そうと思うんだけど、ちょっと環境構築に手間取っている。
というか、できるなら既にそういう方法が発見できるはずなんだけど、ないってことはやっぱないんだろうか。Ruby に環境を保存しておく機能がないんだっけ。callcc ?
UNIX ソケットで、とは限らないようだ。TCP/IP でもできる (すなわち、別のサーバにもおける) みたい。
普通の CGI は引数にリクエストされたファイルを渡すけど
って嘘つきすぎ(w
CGI はただたんにリクエストされたファイルを起動してるだけだ。shebang を混同してる。
うーん。よくわからん。FastCGI を使ったアプリケーションを作るたびに、HTTPD の設定ファイルも書き換えないといけないんだろうか。
ENV
を書き換える方法がないから無理だなこれ。