percorso relativo nginx da includere


10

In un file conf nginx, c'è un modo per specificare includeun altro file conf rispetto al file conf corrente?

Vorrei scrivere:

server {
  listen       80;
  server_name  localhost;

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

...
} 

2
No. Tutti i percorsi sono assoluti o relativi al percorso prefisso nginx.org/en/docs/configure.html
Alexey Ten,

1
Indovinare il layout di file e cartelle, include apis/basic.conf;probabilmente funzionerebbe. Ad esempio, questo include è relativo alla radice di configurazione, quindi include questo file .
AD7,

Risposte:


4

I documenti Nginx per la includedirettiva non documentano come vengono gestiti i percorsi relativi (dalla versione 1.9.15). La mia lettura del codice C è che il percorso deve essere assoluto o relativo al percorso del prefisso, come ha offerto Alexey Ten in un commento.

Ecco un link correlato al codice sorgente .


1
Ho appena provato su nginx 1.10.3. Impostazione di -pa .e provato anche ./nginx.confda un file di configurazione memorizzato in /tmp. Errori dicendomi che non riesce a trovare /tmp/./nginx.conf. O l' -popzione non lo fa, o l'inclusione include solo relativamente al file di configurazione, oppure il mio nginx è rotto.
CMCDragonkai

L' -popzione influenza solo dove il nginxcomando cerca il file di configurazione. L'uso nginx -p . -c ./nginx.conffarà cercare il comando nginx ./nginx.conf, altrimenti senza di esso cercherà il percorso del prefisso per il ./nginx.conf.
CMCDragonkai

2

Simile a quello che ha commentato Alexy Ten sopra, verrà utilizzato il prefisso predefinito. Ma secondo questo post StackOverflow: https://stackoverflow.com/a/25486871/1684819 l'opzione -p può essere fornita per dichiarare dove far riferimento a tutti i percorsi relativi invece del percorso compilato predefinito.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.