Назад | Перейти на главную страницу

Nginx Try_Files для создания локального кеша контента?

Я пытаюсь обслуживать изображения локально или из общего ресурса (локально обновляется за ночь).

Мой сайт 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 директивы.