我已经在开发中设置了 Passenger (Mac OS X),它可以完美运行。唯一的问题后来出现了:现在我有一个自定义的 GEM_HOME
路径和安装在 "/usr/local"
中的 ImageMagick 二进制文件。我可以将它们放在获取来源的 shell rc 文件之一中,这解决了从控制台生成的进程的环境变量;但是乘客呢?以这种方式运行时,相同的应用程序找不到我的 gem。
最佳答案
我知道有两种解决方案。第一个(记录在 here 中)与 manveru 的基本相同——直接在您的代码中设置 ENV 变量。
第二个是围绕 Passenger 使用的 Ruby 解释器创建一个包装器,并记录在案 here (寻找 passenger_with_ruby)。要点是您创建(并将 Apache 配置中的 PassengerRuby 指向)/usr/bin/ruby_with_env,这是一个可执行文件,包括:
#!/bin/bash
export ENV_VAR=value
/usr/bin/ruby $*
两者都有效;我认为前一种方法不那么骇人听闻。
关于ruby-on-rails - 为 Phusion Passenger 应用程序设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/79474/