¿Es posible especificar la rootruta relativa al archivo conf que contiene?
Estamos desarrollando una aplicación web y mantenemos el app-nginx.confarchivo con la configuración específica de la aplicación en el directorio del proyecto. Quiero poder incluir este archivo en main nginx.confy tener una rootruta que haga referencia correctamente al subdirectorio del proyecto requerido. Ejemplo:
# /etc/nginx/nginx.conf
http {
include /absolute/path/to/app/app-nginx.conf
}
# /absolute/path/to/app/app-nginx.conf
server {
server_name localhost;
listen 9090;
root ./app;
}
Después de iniciar nginx con una configuración similar, nginx intenta resolver la ./appruta relativa al directorio de instalación de nginx ( /usr/local/Cellar/nginx/1.4.3/en mi caso), no al directorio de la aplicación.

--prefixpuede afectar a otros servidores nginx y, desde mi perspectiva personal, un poco más difícil de administrar en comparación con el archivo de configuración. Y nginx no permite crear variables personalizadas consetdirectivas fuera delservercontexto, por lo que no puedo mover la ruta absoluta desde mi archivo app-nginx.conf.includeyssl_certificate, por ejemplo, pero usará el directorio de prefijo para opciones comoroot. Parece que no tengo una lista completa sobre cuál usa cada opción.No he encontrado una manera de usar rutas relativas o definir variables globales, pero este pequeño truco resuelve mi problema.
fuente
mapdirectiva con un solodefaultvalor que desempeñará el papel de la variable para mí.