nginx - Nginx 1.14 无法访问系统环境变量
问题描述
我花了两天时间试图弄清楚如何让系统环境变量传递给 Nginx。
- 我已经在
/etc/nginx.conf
with中声明了环境变量env FOO
。 - 我试过
perl_set
和set_by_lua
.
但非工作。
我在 Ubuntu “Bionic” 18.04 机器上运行它。
任何想法?
编辑:
问题是,Nginx 剥离了所有环境变量,因此它们在 Web 服务器进程中不可用。遵循一些 Nginx 教程,set_by_perl
或者set_by_lua
是推荐的将系统环境变量导入 Web 服务器进程的方法,这在我的情况下似乎不起作用。
解决方案
您不能在 nginx.conf 中设置环境变量。它将被忽略,这就是您所看到的。
有几个地方可以设置环境变量,我将展示文件的示例,其中环境变量可用于所有用户登录和 NGINX。
$sudo 纳米 /etc/环境
将您的 defs 添加到文件末尾;把那里的一切都留在那里。只需附加您的新定义。准确地做到这一点,行尾没有多余的空格,文件末尾没有多余的行。使用双引号。暂无评论。非常准确。
export COMPILERKEY = "jk8894085349058jjggl"
export FOO="ThisIsFooValue"
export FOO2="ThisIsFooValue2"
保存文件
重启服务器
显示所有定义的环境变量
$env
定义后,您可以通过定义的方式访问环境变量。环境变量的访问方法是一个我认为您还没有问到的问题。我希望这有帮助。
推荐阅读
- python - 使用 Python 2 返回括号中的值
- delphi - Delphi 10.3 Android远程服务绑定时崩溃
- python - 我需要从python中的文本文件中获取特定数据
- mysql - 选择 1 个随机行和 n 行后的行数
- c# - Xamarin Forms - C# - HttpUtility.ParseQueryString - 自动格式化字符串?
- python - 带有 Docker 错误的 Django 管理员不正确的填充
- azerothcore - Azerothcore - Autobalance DungeonScaleDownXP 为单人玩家添加额外检查
- excel - Excel计数粘贴为单元格中的值的单元格,这些单元格包含带有“”的公式作为结果
- javascript - Redux Saga 中的去抖动
- conv-neural-network - 调用模型子类时预期的字符串或类似字节的对象