我在主要配置文件中包含了部分配置
include /some/path/log.conf;
在该文件中我尝试使用 $host 变量
error_log /some/path/$host.error.log;
但是它创建“$host.error.log”文件而不是使用变量。
如何在包含的文件中使用全局变量?
我以为这是一个简单的问题,但却找不到答案。
答案1
nginx.conf包含与我们的 Nginx 服务器相关的配置。Nginx 配置不支持开箱即用的环境变量。但是,我们可以使用一些工具和解决方法来执行此过程。
环境变量是一个可以在服务器启动前动态生成 Nginx 配置文件的工具。它将文本中的变量替换为 shell 变量的相应值。
此外,它不是一个独立的实用程序。它附带 gettext 元包。因此,默认情况下,它已经在我们的 Linux 机器上可用。
使用envsubst
上述文章中描述的方法创建包含环境变量而不是硬编码值的动态 Nginx 配置文件。