我花了两天时间试图找出如何让系统环境变量传递到Nginx。
/etc/nginx.conf
{/ 1}}在env FOO
中声明了环境变量。perl_set
和set_by_lua
。但不起作用。
我在Ubuntu" Bionic" 18.04机器。
有什么想法吗?
编辑:
问题是,Nginx剥离了所有环境变量,因此它们在Web服务器进程中不可用。在一些Nginx教程之后,set_by_perl
或set_by_lua
是建议将系统环境变量引入Web服务器进程的方法,这在我的案例中似乎不起作用。
答案 0 :(得分:0)
您无法在nginx.conf中设置环境变量。它会被忽略,这就是你所见过的。
您可以在几个地方设置环境变量,我将展示env vars对所有用户登录和NGINX都可用的文件的示例。
$ sudo nano / etc / environment
将你的defs添加到文件的末尾;把那里的一切都留在那里。只需附加你的新defs。这样做准确,行末没有多余的空格,文件末尾没有额外的行。使用双引号。没意见。非常确切。
export COMPILERKEY = "jk8894085349058jjggl"
export FOO="ThisIsFooValue"
export FOO2="ThisIsFooValue2"
保存文件
重新启动服务器
显示已定义的所有环境变量
$ ENV
一旦定义,您就可以通过定义的方式访问env变种。环境变量的访问方法是一个我认为你还没有问过的问题。我希望这会有所帮助。