Я пытаюсь обслуживать изображения локально или из общего ресурса (локально обновляется за ночь).
Мой сайт на 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
.