NGINX 'globaler' Standort

9

Ist es möglich, einen "globalen" Speicherort für einen NGINX-Server zu erstellen? Ich möchte, dass jede von NGINX bereitgestellte Site Zugriff auf einen / global / -Ordner hat. nach dem Vorbild von

http {
    [...stuff...]

    #Global path
    location /global/ {
        root /my/global/location/;
    }

    server {
        listen          127.0.0.1:80;
        server_name     example.com;

        [...standard config...]
    }

    server {
        listen          127.0.0.1:80;
        server_name     example.org;

        [...standard config...]
    }

    server {
        listen          127.0.0.1:80;
        server_name     example.net;

        [...standard config...]
    }
}

Und Sie können über http://example.com/global/ http://example.org/global/ usw. auf Dateien am globalen Speicherort zugreifen .

Ich kann dies tun, wenn ich jedem serverBlock den globalen Standortblock hinzufüge , aber das ist ärgerlich. Ich möchte, dass er global definiert wird und von den Sites aus darauf zugreifen kann.

Ich könnte includein jedem Host eine Direktive verwenden, aber es ist immer noch eine Angabe in jedem Host erforderlich. Das NGINX-Wiki sagt, dass der 'Standort'-Block nur innerhalb des serverKontexts gültig ist, aber ich wusste nicht, ob es einen Umschreibungstrick oder ähnliches gab.

Verschmieren
quelle
Gibt es hierzu Neuigkeiten? ~ 4 Jahre später?
w00t

Antworten:

3

Es ist nicht nein und soweit ich weiß, ist auch nicht die Rede davon, das zu ändern.

Martin Fjordvald
quelle
1
Dachte so, aber es war einen Versuch wert
Smudge
12
Das ist deprimierend.
Rob
1

Sie können es auch andersherum tun, indem Sie dynamische vhost-Verzeichnisse verwenden.
zum Beispiel:

server {
...
    server_name ~^(www\.)?(?<domain>.+)$;
...
    location /global/ {
        root /my/global/location/;
    }
...
moddie
quelle