Я пытаюсь создать пользовательское решение для кэширования для своего веб-сайта с кэшированием FastCGI.
Я пытаюсь кэшировать только определенный URL, которые получают грузоподъемность судна трафика. Я знаю от своих журналов точно, какой URL, которые являются, но они всегда изменяются.
Есть ли способ, которым я могу указать определенный URL, который Nginx должен кэшировать, но не кэшировать все остальное.
Я следовал этому учебному руководству, и я заставил кэширование работать. Но я не могу разработать, как кэшировать пользовательские URL. Скажите url.com/b.php?q=123, например.
Идеально я сохранил бы список URL в .conf файле, который загружает Nginx, и он только использует кэш для тех URL, но не кэширует все другие файлы. Действительно ли это возможно с Nginx?
Для этого можно использовать карту
. Поместите его в отдельный файл, который включает
d из блока сервера http
, а затем при каждом изменении перезагружайте nginx.
Пример:
map $request_uri $my_no_cache {
default 1;
/b.php?q=123 0;
}
Чтобы использовать его, поместите это в соответствующий сервер
или расположение
:
fastcgi_no_cache $my_no_cache;
fastcgi_cache_bypass $my_no_cache;