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";
...
}
nginx
configuration
Alex Rothberg
la source
la source
include apis/basic.conf;
fonctionnerait probablement. Par exemple, cette inclusion est relative à la racine de configuration, elle inclut donc ce fichier .Réponses:
Les documents Nginx pour la
include
directive 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 .
la source
-p
à.
et avons essayé , y compris à./nginx.conf
partir 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'-p
option ne le fait pas, soit l'inclusion inclut uniquement par rapport au fichier de configuration, soit mon nginx est cassé.-p
option affecte uniquement où langinx
commande recherche le fichier de configuration. L'utilisationnginx -p . -c ./nginx.conf
fera rechercher la commande nginx./nginx.conf
, sinon sans elle, elle recherchera le chemin du préfixe pour le./nginx.conf
.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.
la source