我可以在 Nginx 中添加一个目录作为我的配置文件的前缀吗?

我可以在 Nginx 中添加一个目录作为我的配置文件的前缀吗?

我有一个带有简单 Debian 映像的开发环境,同时我还使用 Jetware EC2 优化的 Debian 映像作为我的临时环境。

Jetware 文件系统安装在 下/jet,因此我的 nginx.conf 和 vhost 文件之间略有变化,例如:

pid /run/nginx/nginx.pid;pid /jet/run/nginx/nginx.pid;

或者也include /jet/etc/nginx/mime.types;vs include /jet/etc/nginx/mime.types;

有没有服务器根目录我可以添加到我的 nginx.conf 配置中的某种指令,以使文件之间的更改最小化?

答案1

事实证明,该方法(在文件顶部启动“$filesystem_root_dir”变量并为每个配置分配一个值)是:

  • 不允许(它会抛出致命错误nginx: [emerg] "set" directive is not allowed here in /etc/nginx/nginx.conf:1:)
  • 被 Nginx 团队劝阻的:
Variables should not be used as template macros. Variables are evaluated in the run-time during the processing of each request, so they are rather costly compared to plain static configuration. Using variables to store static strings is also a bad idea. Instead, a macro expansion and "include" directives should be used to generate configs more easily and it can be done with the external tools, e.g. sed + make or any other common template mechanism. 

http://nginx.org/en/docs/faq/variables_in_config.html

我考虑过使用模板生成器,但成本远远超过收益,所以我要么让文件保持稍微不同的状态。

相关内容