Ist es möglich, den root
Pfad relativ zur enthaltenen conf-Datei anzugeben?
Wir entwickeln eine Web-App und app-nginx.conf
speichern die Datei mit der app-spezifischen Konfiguration im Projektverzeichnis. Ich möchte in der Lage sein, diese Datei in das Hauptverzeichnis aufzunehmen nginx.conf
und einen root
Pfad zu haben, der ordnungsgemäß auf das Unterverzeichnis des erforderlichen Projekts verweist. Beispiel:
# /etc/nginx/nginx.conf
http {
include /absolute/path/to/app/app-nginx.conf
}
# /absolute/path/to/app/app-nginx.conf
server {
server_name localhost;
listen 9090;
root ./app;
}
Nach dem Start von nginx mit ähnlicher Konfiguration versucht nginx, den ./app
Pfad relativ zum Installationsverzeichnis von nginx ( /usr/local/Cellar/nginx/1.4.3/
in meinem Fall) aufzulösen , nicht zum Verzeichnis der App.
--prefix
kann andere nginx-server betreffen und aus meiner persönlichen sicht etwas schwieriger zu verwalten im vergleich zur konfigurationsdatei. Und nginx erlaubt es nicht, benutzerdefinierte Variablen mitset
Direktiven außerhalb desserver
Kontexts zu erstellen , daher kann ich keinen absoluten Pfad aus meiner app-nginx.conf-Datei verschieben.include
undssl_certificate
beispielsweise das Präfixverzeichnis für Optionen wieroot
. Ich habe anscheinend keine vollständige Liste, welche Option verwendet wird.Ich habe keine Möglichkeit gefunden, relative Pfade zu verwenden oder globale Variablen zu definieren, aber dieser kleine Trick löst mein Problem.
quelle
map
Direktive mit einem einzelnendefault
Wert verwenden, die für mich die Rolle der Variablen spielt.