nginx通过命令行接受一个参数来指定配置文件的位置:
-c filename : set configuration file
对于我的用例,filename
必须是相对于当前工作目录的路径,但是nginx似乎总是相对于其安装位置解释filename
:
$ nginx -c nginx.conf
=> nginx: [emerg] open() "/usr/local/Cellar/nginx/1.4.1/nginx.conf" failed (2: No such file or directory)
是否有可能将filename
的cwd相对路径传递给nginx? “不”是可以接受的答案。
答案 0 :(得分:1)
在配置期间传递给--prefix
的{{1}}的相对关系汇编,在大多数情况下很可能是configure
所以它的相对性。
例如在我的机器上:
/usr
收益:
$ nginx -V
请注意nginx version: nginx/1.2.6
built by gcc 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1)
TLS SNI support enabled
configure arguments: --prefix=/usr --with-http_ssl_module ... other stuff...
,因此这是--prefix=/usr
相对于您的基本路径。
因此:
-c
失败:
$ nginx -t -c nginx.conf
很明显,nginx相对于$ nginx -t -c nginx.conf
nginx: [emerg] open() "/usr/nginx.conf" failed (2: No such file or directory)