Я пытаюсь обслуживать изображения локально или из общего ресурса (локально обновляется за ночь).
Мой сайт nginx обслуживается двумя или более серверами, чтобы весь контент синхронизировался на каждом сервере, я храню его в общей папке Azure, и это корневой каталог расположения (/ mnt / wp).
Это работает довольно хорошо (вместе с Nginx Caching), но у изображений довольно медленное время ожидания, что, как я полагаю, является проблемой задержки клиент-сервер-лазурь. Поэтому, чтобы ускорить работу, я хотел бы обслуживать изображения локально (/ var / www /), если они доступны, а затем вернуться к лазурному (/ mnt / wp)
Пока что у меня есть этот блок местоположения, но журналы показывают цикл перенаправления ..
Я что-то упускаю?
location /wp-content/ {
add_header X-uploads $uri;
try_files @contentCache/$uri $uri;
}
location @contentCache{
root /var/www;
}
Ваш синтаксис для try_files
неправильно. Именованное местоположение должно быть действием по умолчанию, помещенным в последний элемент. Что-то вроде этого:
location /wp-content/ {
...
try_files $uri @contentCache;
}
location @contentCache {
...
try_files $uri =404;
}
Видеть этот документ для большего.
Если вам нужно изменить порядок, просто поменяйте местами root
директивы.