Nginx: caminho raiz relativo ao arquivo conf

15

É possível especificar root path relativo ao arquivo conf contido?

Estamos desenvolvendo um aplicativo da Web e mantemos o arquivo app-nginx.conf com configuração específica do aplicativo no diretório do projeto. Eu quero poder incluir este arquivo no caminho principal nginx.conf e ter root referenciando corretamente o subdiretório do projeto requerido. Exemplo:

# /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;
}

Depois de iniciar o nginx com configuração semelhante, o nginx tenta resolver o ./app path relativo ao diretório de instalação do nginx ( /usr/local/Cellar/nginx/1.4.3/ no meu caso) e não ao diretório do aplicativo.

    
por Anton Moiseev 24.10.2013 / 12:40

2 respostas

10

Is it possible to specify root path relative to the containing conf file?

Resposta curta: Não.

Resposta longa: Nginx, por padrão, só conhece o caminho como --prefix e --conf-path que são definidos no tempo de compilação (ref: link ). Podemos encontrar vários caminhos usados pelo Nginx executando o comando nginx -V (é o capital "V"). Portanto, --conf-path é onde reside o arquivo principal nginx.conf e o caminho é usado para qualquer caminho relativo.

De acordo com a documentação oficial ( link ), uma diretiva root pode conter outras variáveis.

Obrigado pela @cyker por esclarecer depois de 5 anos postando a resposta inicial!

    
por 24.10.2013 / 14:46
0

Não encontrei uma maneira de usar caminhos relativos ou definir variáveis globais, mas este pequeno truque resolve o meu problema.

    
por 24.10.2013 / 16:00

Tags