Можно ли создать «глобальное» местоположение для сервера NGINX? Я бы хотел, чтобы каждый сайт, обслуживаемый NGINX, имел доступ к папке / global /; по линии
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...]
}
}
И иметь возможность доступа к файлам в глобальном местоположении с http://example.com/global/ http://example.org/global/ и т. Д.
Я могу сделать это, если добавлю глобальный блок местоположения в каждый server
блок, но это раздражает, я бы хотел, чтобы он был определен глобально и имел доступ к нему из сайтов.
Я мог бы использовать include
директиву на каждом хосте, но она все еще требует спецификации на каждом хосте. Вики NGINX говорит, что блок 'location' действителен только в server
контексте, но я не знал, был ли трюк с переписыванием или что-то подобное.
Ответы:
Это не так, и, насколько я знаю, нет никаких разговоров об их изменении.
источник
Вы можете сделать это наоборот, используя динамические каталоги vhost.
например:
источник