NULL::something

Login via flickr, はてな, TypeKey.

2006-01-17

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 でもできる (すなわち、別のサーバにもおける) みたい。

Inserted at 2006-01-17T17:52:51+09:00

普通の CGI は引数にリクエストされたファイルを渡すけど って嘘つきすぎ(w

CGI はただたんにリクエストされたファイルを起動してるだけだ。shebang を混同してる。

Inserted at 2006-01-17T17:54:22+09:00

うーん。よくわからん。FastCGI を使ったアプリケーションを作るたびに、HTTPD の設定ファイルも書き換えないといけないんだろうか。

Inserted at 2006-01-17T18:00:53+09:00

ENV を書き換える方法がないから無理だなこれ。

Inserted at 2006-01-17T22:28:03+09:00

Comments (2)

secondlife's image
secondlife says:
"bin-environment" => ( "FOO" => "foo" ) とかじゃなくてですか?>ENV書き換え
2006-01-19T01:13:18+09:00
cho45(砂糖)'s image
cho45(砂糖) says:
んん。どうなんでしょう。bin-environment だと親 (謎) の ENV っぽい気がします。(よくわかってない) 結局 Ruby 側で   FCGI.each do |fcgi| ENV = fcgi.env $stdin = fcgi.in $stdout = fcgi.out $stderr = fcgi.err load(fcgi.env["SCRIPT_FILENAME"], true) fcgi.finish end   みたいにすれば何も変更しなくてもイケるかなぁと思ったんです。   まぁ素直に mod_ruby 使うか普通に fcgi 使えって話なんですけど……今のところよさげなのは matz さんのソレがスマートなのかなぁ。
2006-01-19T01:35:18+09:00

Trackback URI: http://lowreal.net/logs/2006/01/17/1.trackback

2ch ヘッドフォン娘スレ

Meta*Headphone-Girls晒された。結構キャッチされるまで時間がかかったなぁ……

さいきん up 関係の絵が多くてリンクを貼れない。貼ってもすぐ消えちゃうから。ヘッドフォン娘関連では mixi 関連で辿って片っ端から絵サイトを見まくるのをときどきやりつつ、メールで送られてくる編集ログを眺める日々です。しかしどうやって纏めるか悩む。もうちょいいい方法ないかな。

ちなみに一日のユニークホストはここ一週間平均20ぐらい。

Comments (1)

天野's image
天野 says:
見つけたのが大分後だったのでまさかスレ未出だとは思いませんでした。 ついカッとなってやってしまいました。 ごめんなさい。
2006-01-22T02:53:07+09:00

Trackback URI: http://lowreal.net/logs/2006/01/17/2.trackback

NULL

RSS feed meter for http://lowreal.net/logs/latest

Alternates

  1. RSS 1.0
  2. Atom 1.0

Generated with Taglibro

この日記は Taglibro と呼ばれる XML ベースの XSLT をテンプレートとして使ったシステムを使っています。現在の Taglibro は Ruby, ruby-xslt, libxml-ruby による実装です。ソースコードはとりあえず公開していません。