phusion乘客没有看到环境变量?

phi*_*hil 6 ubuntu ruby-on-rails passenger nginx

我们正在为我们的rails 3.0x应用程序运行带有Nginx + Phusion Passenger的ubuntu服务器.

我在测试机器上的/ etc/environment中设置了一个环境变量:

MC_TEST=true
Run Code Online (Sandbox Code Playgroud)

如果我运行一个控制台(捆绑exec rails c)并输出ENV ["MC_TEST"],我看到'true'.但是,如果我在页面上放置相同的代码(<%= ENV ["MC_TEST"]%>),它什么都看不到.那个变量不存在.

这引出了我的问题:

1 - 使用nginx(不是apache SetEnv)将环境变量引入乘客的正确方法是什么?

2 - 为什么乘客没有适当的环境?

小智 7

Passenger fusion v4 +可以直接从bashrc文件中读取环境变量.确保bashrc存在于执行乘客进程的用户的主文件夹中(在我的例子中,它是ubuntu,用于ec2 linux和nginx)

这是有关bashrc详细信息的文档