ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как включить и отключить кеш Nginx

Как настроить блоков сервера Nginx на Ubuntu и CentOS

Когда вы включили кеширование в Nginx Plus, он сохраняет ответы на кэш-диске, и они в дальнейшем используются для ответа клиентам, не сохраняя каждый раз запрос прокси с одним и тем же контентом. Кэширование Nginx Plus имеет больше возможностей, в которые включены наиболее полезные функции, такие как очистка кеша, отложенное кэширование и кэширование динамического контента.

В этой статье мы узнаем больше о кешировании, например о том, как включить и отключить кеширование на сервере Nginx в системе Linux.

 

Как включить кеширование?

На верхнем уровне контекста http {} включите директиву proxy_cache_path для включения кэширования. Первый параметр, который является путем в локальной файловой системе для кэшированного содержимого, и параметр keys_zone, определяющий размер и имя зоны разделяемой памяти, являются обязательными. Последний параметр, keys_zone, хранит метаданные кешированных элементов:

http {

...

proxy_cache_path /data/nginx/cache keys_zone=one:10m;

}

 

Вы должны включить директиву proxy_cache, чтобы определить такие элементы, как (тип и местоположение протокола или адрес виртуального сервера) в контексте http. Через которую вы хотите кэшировать ответы сервера, укажите имя зоны, которое определяется параметром keys_zone в директиве proxy_cache_path (которая в данном случае является одной из них):

http {

...

proxy_cache_path /data/nginx/cache keys_zone=one:10m;

server {

proxy_cache mycache;

location / {

proxy_pass http://localhost:8000;

}

}

}

 

Следует отметить, что на общий объем кэшированного ответа не влияет размер, который определяется параметром keys_zone. Все кешированные ответы по отдельности сами сохраняются в определенных файлах с копией метаданных в вашей файловой системе. Однако, если вы хотите ограничить общий объем кэшированных данных ответа, вы можете включить параметр max_size в директиву в proxy_cache_path.

 

Как ограничить или отключить кеширование?

Все ответы остаются в кэше на неопределенный срок. Эти ответы удаляются только тогда, когда они превышают определенный максимальный размер и время, прошедшее с момента последнего запроса. Но вы можете установить в соответствии с вашими удобными средствами, в течение какого времени эти кэшированные ответы считаются действительными или даже если они используются разными директивами на сервере {}, http {} или в контексте местоположения {}. Однако, чтобы ограничить количество кешированных ответов, считающихся действительными, необходимо включить директиву с именем proxy_cache_valid.

Определим концепцию ограничения кеша на примере. В приведенном ниже примере 200 или 302 ответа кода считаются действительными в течение 10 минут, а 404 ответа действительны до 1 минуты.

proxy_cache_valid 200 302 10m;

proxy_cache_valid 404      1m;

 

Таким образом, вы также можете определить действительность кэшированных ответов времени для всех кодов состояния, чтобы определить параметр ‘любой’, который вы также можете увидеть в следующей строке кода:

proxy_cache_valid any 5m;

 

Есть набор условий, при которых Nginx не отправляет кешированные ответы клиентам, поэтому включите директиву proxy_cache_bypass. Каждый параметр в приведенном ниже примере определяет условия и имеет ряд переменных. Если хотя бы один параметр не равен нулю ‘0’ или не пуст, Nginx не находит ответ в кеше и немедленно отправляет запросы на внутренний сервер.

proxy_cache_bypass $ cookie_nocache $ arg_nocache $ arg_comment;

 

При условии, что вы хотите, чтобы Nginx не кэшировал ответ. Затем вы включите директиву proxy_no_cache и определите все следующие параметры:

proxy_no_cache $ http_pragma $ http_authorization;

Заключение

Кэширование предоставляет больше возможностей на сервере Nginx. В этой статье мы также изучили, как можно включить или отключить кеширование, включая все директивы и параметры. Чтобы узнать больше, вы можете получить дополнительную помощь в онлайн-ресурсах. Мы надеемся, что приведенная выше статья о кешировании будет для вас информативной.

Exit mobile version