開発時にPassengerを設定しました(Mac OS X)、問題なく動作します。唯一の問題は後で来た:今私はカスタムGEM_HOME
とImageMagickバイナリが"/usr/local"
にインストールされている。ソースとなるシェルrcファイルの1つにそれらを入れることができ、これはコンソールから生成されたプロセスの環境変数を解決します。乗客はどうですか?同じアプリケーションがこのように実行されたときに私の宝石を見つけることができません。Phusion Passengerアプリケーションの環境変数を設定する
答えて
私は2つの解決策を知っています。最初のもの(hereと書かれています)は、manveruのものと本質的に同じです。あなたのコードで直接ENV変数を設定してください。
2番目は、Passengerが使用するRubyインタプリタのラッパーを作成し、here(passenger_with_rubyを探してください)と書かれています。要点はあなたが、は/ usr/binに/ ruby_with_env(あなたのApacheの設定にしてPassengerRubyをしてポイント)からなる実行ファイル作成することです:
#!/bin/bash
export ENV_VAR=value
/usr/bin/ruby $*
両方の仕事を。前者のアプローチはちょっとハッキリしていないと思います。
他の人が同じ問題を抱えている場合に備えて、 'chmod + x/usr/bin/ruby_with_env'。 –
これは古い答えなので、私はちょうどこの答えがこの問題を扱うための推奨された方法であると確信しています。参考文献:http://blog.phusion.nl/2008/12/ 16 /通過環境変数/ルビー/フュージョン乗客/と:http://dev.mensfeld.pl/2011/09/phusion-passenger-and-environment-variables-with-ruby-rake-アプリケーション/ – Felixyz
もっと最近、このように見えるcぶら下がった。 Phusion 4.0以降、Apacheディレクティブ 'PassEnv'と 'SetEnv'を使用できます:http://www.modrails.com/documentation/Users%20guide%20Apache.html#env_vars_passenger_apps – nielsbot
私もこの問題に遭遇しました。 appears PassengerはSetEnv
apache指令を使用して設定したパススルー値を使用しません。これは残念です。
は、おそらくあなたのenvironment.rbにまたはboot.rbで環境変数を設定することが可能であるかもしれない(あなたがRailsのアプリの話をしていると仮定すると、私はラックに慣れていないんだけど、おそらく、それは同様の機能を持っている)
あなたがいずれかの操作を行う前には、あなたが行うことができます(特にRubyGemsのを必要とする前に)必要があります。
ENV['GEM_HOME'] = '/foo'
これは、このプロセス内で環境変数を変更します。
コンピュータにroot権限がある場合、 "envvars"ファイルに必要な環境変数を設定でき、Apacheを起動する前にapachectlがこのファイルを実行することが分かりました。
envvarsは通常、apachectlが置かれているのと同じディレクトリにあります。Mac OS Xの場合、envvarsは/ usr/sbinにあります。見つからない場合は、apachectlスクリプトのソースを参照してください。
envvarsファイルを変更した後、Apacheを「apachectl -k restart」で再起動します。
- 1. の設定環境変数
- 2. 環境変数の設定
- 3. 環境変数を設定する
- 4. Tomcatアプリケーションでシェルスクリプト/アクセスの環境変数を設定する
- 5. スーパーバイザ環境変数を設定するアプリケーション
- 6. Androidのアプリケーション環境設定
- 7. execのNodeJS環境変数を設定
- 8. Apache; Phusion Passenger 3 RackBaseURIはRails 3のプロダクション環境でのみ動作します
- 9. Rails 3 /カスタム環境変数の設定
- 10. JNLP/Webstart - 環境変数の設定
- 11. 環境変数の設定(win32com)
- 12. phusionの乗客は環境変数を見ませんか?
- 13. アプリケーションを再起動せずにHeroku環境変数を設定
- 14. Phusion Passenger Not Logging
- 15. Phusion Passenger v。WEBrick
- 16. Phusion Passengerとデータベースプーリング
- 17. Phusion Passenger + WorkBling + RabbitMQ
- 18. Phusion Passenger Ubuntu 11.10
- 19. 複数のアプリケーションでWindows 7の環境変数に 'PATH'を設定する
- 20. Phusion Passengerでアプリケーションが起動しない
- 21. Phusion Passenger on shared server
- 22. どこの環境変数を設定するのですか?
- 23. OSX Mountain Lion上のアプリケーションに環境変数を設定するには?
- 24. Phusion Passengerは私のRailsEnvの設定に従わない
- 25. Javaプログラムのシェルスクリプト/アクセスの環境変数を設定する
- 26. startDetached()の環境変数を設定するQProcess
- 27. antスクリプトの環境変数を設定する
- 28. TFS 2010のinvokeprocessで環境変数を設定する方法
- 29. WebStormのNode.js環境変数を設定する
- 30. リモートユニックスシステムのディスプレイ環境変数を設定する
アップデート:旅客2.2.3以降、「SetEnvディレクティブがサポートされています:http://blog.phusion.nl/2009/06/17/phusion-passenger-223-released-bugfixedition/」。 ベンの回答から得た手法はとてもうまくいっていますが、今はもう使用する必要はありません(ほとんどの場合)。 – mislav