ruby-on-rails - 为 Phusion Passenger 应用程序设置环境变量

标签 ruby-on-rails ruby passenger env

我已经在开发中设置了 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/

相关文章:

caching - 如何有选择地清除 Sinatra + Nginx + Phusion Passenger 的缓存?

ruby-on-rails - Heroku 上的 Rails + Passenger : How to set expiry date or a maximum age in the HTTP headers for static resources?

ruby-on-rails - 新 Rails 安装 - 没有要加载的文件 -- phusion_passenger/alalytics_logger

ruby-on-rails - 用 upstart 脚本守护 sidekiq - 不工作

java - 在 Ruby 中自动进行类级初始化

css - checkbox-inline 将复选框放在文本上而不是旁边

ruby - 检查字符串是否包含 Ruby 数组中的任何子字符串

mysql - 如何知道列的数据类型?

ruby-on-rails - Twitter Rails gem Update_with_media 返回未经授权

ruby-on-rails - 如何在 Windows 7 32 位中为 Ruby on Rails 安装 Rmagick 和 imageMagick