ratio - rational - irrational

« 『Agile Wed Development with Rails』の翻訳 | Main | (´-`).。oO 人はLispに戻ってくるんだよ »

2005年10月18日

Debian mod_fcgidにおけるRAILS_ENV

Ruby on Rails - ApacheをDebianのlibapache2-mod-fcgidで連携させようとしたのだけれど、環境変数RAILS_ENVをどこで設定したらよいのか分からず、悪戦苦闘した。

Debianで配布されているのが、一般的なmod-fastcgiじゃなくて、mod_fcgidなのだ。バイナリ互換とは書いてあるけれど、ディレクティブは微妙に違ったりする。ハンドラ名は fastcgi-handler じゃなくて fcgid-handlerだし。

世間のドキュメントを見るには、apacheではSetEnvしろと至極当然なことが書いてあるけれど、これでは駄目だった。で、調べるとどうやらmod-fcgidのDefaultInitEnv ディレクティブを使うとspawnするときに環境変数を設定してくれるらしい。でも、最初バーチャルホストの中で設定していて、どうしても反映されずに悩んだ。

結局、fastcgiなprocessは、1つのfastcgi専用のapacheプロセスにぶら下がってるので、バーチャルホストでなくてserver configレベルで設定しておかないといけなかったらしい。

httpd(root) -+- [httpd](非root) -- [fcgi app]s
             | 
             |       
             +- [httpd]s (非root)

/etc/apache2/apache2.confに設定したらうまくいった。

あれ? server configレベルでSetEnvは試したっけ? ひょっとしてこれでもうまくいったんだろうか。まぁ、余計な環境変数は無くて済むならその方がいいから、これでいいか。



トラックバック

この記事のトラックバックpingのURL:
http://idm.s9.xrea.com/blog/mt-tb.cgi/272

Ping元:[Computer][gentoo][ROR]Apache2 + fcgid + Ruby on Railsメモ

概要:
久々にしっかりとはまったので、メモを残しておきます。 やりたかったこと Ruby on Railsをお試しでインストールして、アプリケーションをつくったのですが、 CGIだとやはりとてもとても遅いので、fastCGIで動かすことを決意。 つまり、Ruby on Railsが速く動くなるよう...
Weblog:
sakuramateo.
日時:
2006年02月06日 03:16

コメント

新しくコメントをつける

よくわからない理由により、コメントが即座には反映されないかもしれませんか゛、ボタンを押して元の画面に戻ってきたならたぶん正しく送信されています。




blog操作

検索


カテゴリー

このブログについて

あわせて読みたい

follow yugui at http://twitter.com
© 2005 Yugui

Powered by Movable Type 3.2-ja-2