![](/img/trans.png)
[英]Nginx + Passenger + GeoIP: Can't pass variable value to application
[英]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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.