我正在启动一个使用环境变量来设置数据库连接和其他几件事的项目。(他们不想使用配置文件,因为人们不小心会覆盖它们)。
无论如何,我正在使用nginx,虽然它支持env-似乎对其支持还不够好。您不能基于每个服务器块设置env值。换句话说,这是行不通的:
server {
listen 80;
server_name domain;
env FOO = "bar";
}
您必须这样做:
env FOO = "bar";
http {
server {
listen 80;
server_name domain;
}
}
这意味着我不能具有特定于虚拟主机的值。因此,我必须为每个站点创建一个完整的vhost配置,并仅激活我现在想要的那个,以便正确设置该值。
有什么办法可以解决此问题?
Nginx配置不像应用程序的配置一样容易被覆盖吗?它使用什么模块将请求提供给应用程序?
—
Shane Madden
@ ShaneMadden,nginx配置不是项目的一部分,但必须在每个服务器上手动创建。因此它不会被覆盖。我发布的是完整的配置-我们也只是使用标准
—
Xeoncross
fastcgi_pass
将请求转发到ruby / php。