caminho relativo nginx para incluir

10

Em um arquivo conf nginx, existe alguma maneira de especificar o includearquivo conf para outro arquivo relativo ao arquivo conf atual?

Eu gostaria de escrever:

server {
  listen       80;
  server_name  localhost;

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

...
} 
Alex Rothberg
fonte
2
Não. Todos os caminhos são absolutos ou relativos ao caminho do prefixo nginx.org/en/docs/configure.html
Alexey Dez
1
Adivinhar o layout do arquivo e da pasta include apis/basic.conf;provavelmente funcionaria. Por exemplo, esta inclusão é relativa à raiz de configuração, portanto inclui este arquivo .
AD7six

Respostas:

4

Os documentos Nginx para a includediretiva não documentam como os caminhos relativos são tratados (a partir do release 1.9.15). Minha leitura do código C é que o caminho deve ser absoluto ou relativo ao caminho do prefixo, como Alexey Ten ofereceu em um comentário.

Aqui está um link relacionado ao código fonte .

Mark Stosberg
fonte
1
Acabei de testar no nginx 1.10.3. Definir o -pque .e tentou incluindo ./nginx.confa partir de um arquivo de configuração armazenado em /tmp. Erra ao me dizer que não consegue encontrar /tmp/./nginx.conf. A -popção não faz isso, ou a inclusão inclui apenas relativo ao arquivo de configuração, ou meu nginx está quebrado.
CMCDragonkai
A -popção afeta apenas onde o nginxcomando procura o arquivo de configuração. Usar nginx -p . -c ./nginx.conffará com que o comando nginx procure ./nginx.conf; caso contrário, sem ele, procurará o caminho do prefixo para o ./nginx.conf.
precisa saber é o seguinte
2

Semelhante ao que Alexy Ten comentou acima, o prefixo padrão será usado. Mas, de acordo com esta postagem do StackOverflow: https://stackoverflow.com/a/25486871/1684819, a opção -p pode ser fornecida para declarar para onde todos os caminhos relativos serão referenciados, em vez do caminho compilado padrão.

xobes
fonte