nginx要包含的相对路径


10

在Nginx conf文件中,有什么方法可以include相对于当前conf文件指定另一个conf文件?

我想写:

server {
  listen       80;
  server_name  localhost;

  include "../apis/basic.conf";

...
} 

2
不。所有路径都是绝对路径或相对于前缀路径nginx.org/en/docs/configure.html
Alexey,

1
猜测文件和文件夹的布局include apis/basic.conf;可能会起作用。例如,此include相对于配置根目录,因此包含此文件
AD7six

Answers:


4

include指令的Nginx文档未记录如何处理相对路径(从1.9.15版开始)。我对C代码的理解是,该路径必须是绝对路径或相对于前缀路径的路径,就像Alexey Ten在评论中所提供的那样。

这是到源代码相关链接


1
我刚刚在nginx 1.10.3上进行了测试。将设置-p.并尝试./nginx.conf从中存储的配置文件包括/tmp。通过告诉我找不到它,它出错了/tmp/./nginx.conf。该-p选项不执行此操作,或者仅包含相对于配置文件的包含内容,或者我的nginx损坏了。
CMCDragonkai

-p选项仅影响nginx命令在哪里查找配置文件。使用nginx -p . -c ./nginx.conf将使nginx命令查找./nginx.conf,否则,将查找nginx命令的前缀路径./nginx.conf
CMCDragonkai

2

与上面的Alexy Ten评论类似,将使用默认前缀。但是根据此StackOverflow帖子:https ://stackoverflow.com/a/25486871/1684819,可以提供-p选项来声明将引用所有相对路径的位置,而不是默认的内置路径。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.