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;
    }
1
задан 25 March 2016 в 21:11
1 ответ

Ваш синтаксис для try_files неверен. Именованное местоположение должно быть действием по умолчанию, помещенным в последний элемент. Примерно так:

location /wp-content/ {
    ...
    try_files $uri @contentCache;
}
location @contentCache {
    ...
    try_files $uri =404;
}

Для получения дополнительной информации см. этот документ .

Если вам нужно изменить порядок, просто поменяйте местами директивы root .

1
ответ дан 3 December 2019 в 23:49

Теги

Похожие вопросы