有没有办法指定,例如root
应该相对于配置文件所在的目录?像
root $conf_path/www
答案 0 :(得分:4)
您实际上可以使用-p
选项执行此操作。
如果您的配置文件与您的应用程序位于同一目录中,则可以运行:
/your/folder $ sudo nginx -c `pwd`/nginx.conf -p "`pwd`"
nginx.conf
文件更改为:
http {
include mime.types;
root /your/folder;
server {
listen 8000;
}
}
到
http {
include /etc/nginx/mime.types;
root .;
server {
listen 8000;
}
}
确保检查指向/etc/nginx/
答案 1 :(得分:0)
总的来说,我不相信这是可能的。但是,您可能可以根据this article一起破解某些内容。
引用相关部分:
2ed版本在这里: How to reference OS Environment Variables in nginx.conf
发表于Nginx论坛: http://forum.nginx.org/read.php?2,215269,215278#msg-215278
并进一步
您可以在启用ngx_lua的情况下读取系统环境变量 nginx build:http://wiki.nginx.org/HttpLuaModule
env PATH;
http {
...
server {
location /path {
set_by_lua $path 'return os.getenv("PATH")';
...
}
}
BTW,要使用set_by_lua指令,还需要启用 这里的ngx_devel_kit模块:https://github.com/simpl/ngx_devel_kit (如果你使用ngx_openresty包,它会更容易。)