我们有两个使用相同代码的rails环境。一个是试演,另一个是生产。两者都使用相同的“生产”rails设置运行。
但是,我们想知道我们在什么环境中。我以为我可以在服务器上设置一个环境变量,然后在rails中读取它,但是,虽然这在控制台上可以工作,但在passenger后面运行时就不能工作了。
在管理员用户的.profile文件中,我有:
export MC_TEST=true但是运行的nginx的/乘客似乎不在同一环境中,并且没有设置该变量。
我想也许我可以在nginx.conf中放一些东西来传递回rails环境,但显然我也没有做对!
那么--有谁能告诉我怎么做才合适呢?在任何情况下,我们都不希望这个变量出现在ruby/rails/app代码中。
发布于 2016-04-27 15:04:41
如果您使用的是nginx with passenger (即nginx安装中包含的passenger ),则配置如下:
server {
server_name www.foo.com;
root /webapps/foo/public;
passenger_enabled on;
passenger_env_var DATABASE_USERNAME foo_db;
passenger_env_var DATABASE_PASSWORD secret;
}https://www.phusionpassenger.com/library/config/nginx/reference/#passenger_env_var
发布于 2012-03-12 12:50:57
在nginx配置中尝试passenger_set_cgi_param MC_TEST true
passenger_set_cgi_param docs
https://stackoverflow.com/questions/9648284
复制相似问题