CGI FastCGI, ruby
既存のスクリプトを修正せず、そのまま 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 を書き換える方法がないから無理だなこれ。
関連エントリー
- FCGI, Ruby, 変更なしで 以前CGI FastCGI, rubyとかいうセクションを書いたけど、ENV って普通に書き換えられることに気付いたのでもう一度やってみた。...
- FCGI, Ruby 変更なしで @ Apache2 鯖を変えると同時に lighttpd から Apache2 にした。 FCGI, Ruby, 変更なしで というのの Apache2 版 と...
- ログインに使ってるスクリプト weblogin.rb, 名前失敗したけどもういいや。 そのうち忘れるので使い方をめもる。 @cgi.header を使うことを前提にしてる...
- namazu のカスタマイズ テンプレートに XSLT を使う namazu.cgi の代替を書いて置き換えた。これで namazu だけ HTML4.01 だったり、適...
- 昔はPHPが 昔 (といっても2-3年前) は PHP が好きだったんだよなぁ。なんでだろう。HTML に埋め込み、ウェブに特化してるってのがよかったんだ...