如何在包含的文件中 使用 $host 之类的全局变量?

如何在包含的文件中 使用 $host 之类的全局变量?

我在主要配置文件中包含了部分配置

include /some/path/log.conf;

在该文件中我尝试使用 $host 变量

error_log /some/path/$host.error.log;

但是它创建“$host.error.log”文件而不是使用变量。

如何在包含的文件中使用全局变量?

我以为这是一个简单的问题,但却找不到答案。

答案1

在 Nginx 配置文件中使用环境变量

nginx.conf包含与我们的 Nginx 服务器相关的配置。Nginx 配置不支持开箱即用的环境变量。但是,我们可以使用一些工具和解决方法来执行此过程。

环境变量是一个可以在服务器启动前动态生成 Nginx 配置文件的工具。它将文本中的变量替换为 shell 变量的相应值。

此外,它不是一个独立的实用程序。它附带 gettext 元包。因此,默认情况下,它已经在我们的 Linux 机器上可用。

使用envsubst上述文章中描述的方法创建包含环境变量而不是硬编码值的动态 Nginx 配置文件。

相关内容