Nginx 1.14无法访问系统环境变量

时间:2018-05-25 15:34:37

标签: nginx environment-variables

我花了两天时间试图找出如何让系统环境变量传递到Nginx。

  1. 我已使用/etc/nginx.conf {/ 1}}在env FOO中声明了环境变量。
  2. 我尝试过perl_setset_by_lua
  3. 但不起作用。

    我在Ubuntu" Bionic" 18.04机器。

    有什么想法吗?

    编辑:

    问题是,Nginx剥离了所有环境变量,因此它们在Web服务器进程中不可用。在一些Nginx教程之后,set_by_perlset_by_lua是建议将系统环境变量引入Web服务器进程的方法,这在我的案例中似乎不起作用。

    编辑:以下是我遵循的教程:https://web.archive.org/web/20170712003702/https://docs.apitools.com/blog/2014/07/02/using-environment-variables-in-nginx-conf.html

1 个答案:

答案 0 :(得分:0)

您无法在nginx.conf中设置环境变量。它会被忽略,这就是你所见过的。

您可以在几个地方设置环境变量,我将展示env vars对所有用户登录和NGINX都可用的文件的示例。

  

$ sudo nano / etc / environment

将你的defs添加到文件的末尾;把那里的一切都留在那里。只需附加你的新defs。这样做准确,行末没有多余的空格,文件末尾没有额外的行。使用双引号。没意见。非常确切。

export COMPILERKEY = "jk8894085349058jjggl"
export FOO="ThisIsFooValue"
export FOO2="ThisIsFooValue2"

保存文件

重新启动服务器

显示已定义的所有环境变量

  

$ ENV

一旦定义,您就可以通过定义的方式访问env变种。环境变量的访问方法是一个我认为你还没有问过的问题。我希望这会有所帮助。