世界線航跡蔵

Mad web programmerのYuguiが技術ネタや日々のあれこれをお送りします。

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は試したっけ? ひょっとしてこれでもうまくいったんだろうか。まぁ、余計な環境変数は無くて済むならその方がいいから、これでいいか。

トラックバック

http://yugui.jp/articles/274/ping
[Computer][gentoo][ROR]Apache2 + fcgid + Ruby on Railsメモ (sakuramateo.)
久々にしっかりとはまったので、メモを残しておきます。 やりたかったこと Ruby on Railsをお試しでインストールして、アプリケーションをつくったのですが、 CGIだとやはりとてもとても遅いので、fastCGIで動かすことを決意。 つまり、Ruby on Railsが速く動くなるよう...

コメント

blog comments powered by Disqus

ご案内

前の記事
次の記事

タグ一覧

過去ログ

  1. 2016年07月
  2. 2016年01月
  3. 2015年09月
  4. 2015年08月
  5. 過去ログ一覧

フィード

フィードとは

その他

Powered by "rhianolethe" the blog system