Gibt es in einer Nginx-Conf-Datei eine Möglichkeit, die include
zu einer anderen Conf-Datei relativ zur aktuellen Conf-Datei anzugeben?
Ich würde gerne schreiben:
server {
listen 80;
server_name localhost;
include "../apis/basic.conf";
...
}
nginx
configuration
Alex Rothberg
quelle
quelle
include apis/basic.conf;
würde wahrscheinlich einfach funktionieren. Beispielsweise hierfür ist relativ zu der Config - Wurzel, so enthält diese Datei .Antworten:
Die Nginx-Dokumente für die
include
Direktive dokumentieren nicht, wie relative Pfade behandelt werden (ab Release 1.9.15). Beim Lesen des C-Codes muss der Pfad absolut oder relativ zum Präfixpfad sein, wie Alexey Ten in einem Kommentar angeboten hat.Hier ist ein verwandter Link zum Quellcode .
quelle
-p
auf.
und versuchte , einschließlich./nginx.conf
aus einer Konfigurationsdatei gespeichert/tmp
. Es irrt, indem es mir sagt, dass es nicht finden kann/tmp/./nginx.conf
. Entweder macht die-p
Option das nicht, oder die Aufnahme schließt nur relativ zur Konfigurationsdatei ein, oder mein Nginx ist kaputt.-p
Option wirkt sich nur darauf aus, wo dernginx
Befehl nach der Konfigurationsdatei sucht. Mitnginx -p . -c ./nginx.conf
wird der Befehl nginx gesucht./nginx.conf
, andernfalls wird ohne ihn der Präfixpfad für den Befehl nginx gesucht./nginx.conf
.Ähnlich wie Alexy Ten oben kommentiert hat, wird das Standardpräfix verwendet. Gemäß diesem StackOverflow-Beitrag: https://stackoverflow.com/a/25486871/1684819 kann die Option -p bereitgestellt werden, um zu deklarieren, wo auf alle relativen Pfade verwiesen wird, anstatt auf den standardmäßig kompilierten Pfad.
quelle