繁体   English   中英

乘客/ nginx-环境变量通过,或乘客变量通过

[英]passenger/nginx - environment variable passing, or passenger variable passing

我们有2个具有相同代码的Rails环境。 一种是演出,另一种是制作。 两者都使用相同的“生产”导轨设置运行。

但是,我们想知道我们所处的环境。 我以为我可以在服务器上设置一个环境变量,然后在rails内读取它,但是,虽然可以从控制台运行,但是在乘客后面跑时却不起作用。

在admin用户.profile文件中,我有:

export MC_TEST=true

但是运行的nginx / passenger似乎不在同一环境中,并且未设置该变量。

我以为我可以在nginx.conf中放一些东西,以传递回Rails环境,但是显然我也没有这样做!

所以-谁能告诉我如何正确执行此操作? 在任何情况下,我们都不希望在ruby / rails / app代码中使用此变量。

如果您将nginx与乘客一起使用(即nginx安装中包含的乘客),则配置如下:

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

在您的passenger_set_cgi_param MC_TEST true配置中尝试passenger_set_cgi_param MC_TEST true

passenger_set_cgi_param文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM