chemin relatif nginx à inclure


10

Dans un fichier de conf nginx, existe-t-il un moyen de spécifier le includeà un autre fichier de conf par rapport au fichier de conf actuel?

Je voudrais écrire:

server {
  listen       80;
  server_name  localhost;

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

...
} 

2
Nan. Tous les chemins sont absolus ou relatifs au chemin de préfixe nginx.org/en/docs/configure.html
Alexey Ten

1
Deviner la disposition de vos fichiers et dossiers include apis/basic.conf;fonctionnerait probablement. Par exemple, cette inclusion est relative à la racine de configuration, elle inclut donc ce fichier .
AD7six

Réponses:


4

Les documents Nginx pour la includedirective ne documentent pas comment les chemins relatifs sont traités (à partir de la version 1.9.15). Ma lecture du code C est que le chemin doit être absolu ou relatif au chemin du préfixe, comme l'a proposé Alexey Ten dans un commentaire.

Voici un lien connexe vers le code source .


1
Je viens de tester sur nginx 1.10.3. Réglage de la -pà .et avons essayé , y compris à ./nginx.confpartir d' un fichier de configuration stocké dans /tmp. Il commet une erreur en me disant qu'il ne peut pas trouver /tmp/./nginx.conf. Soit l' -poption ne le fait pas, soit l'inclusion inclut uniquement par rapport au fichier de configuration, soit mon nginx est cassé.
CMCDragonkai

L' -poption affecte uniquement où la nginxcommande recherche le fichier de configuration. L'utilisation nginx -p . -c ./nginx.conffera rechercher la commande nginx ./nginx.conf, sinon sans elle, elle recherchera le chemin du préfixe pour le ./nginx.conf.
CMCDragonkai

2

Semblable à ce qu'Alexy Ten a commenté ci-dessus, le préfixe par défaut sera utilisé. Mais selon ce post StackOverflow: https://stackoverflow.com/a/25486871/1684819, l'option -p peut être fournie pour déclarer où tous les chemins relatifs seront référencés au lieu du chemin compilé par défaut.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.