Как очистить (удалить/обнулить/сбросить) cache в nginx?
Linux, Программное обеспечение
Если вы активно используете встроенные в nginx функции кеширования, то рано или поздно может возникнуть ситуация, когда вам будет необходимо очистить текущий кеш, например, после обновления стилей css или рекламных блоков, чтобы ваши посетители сразу же увидели изменения, а не дожидались, когда кеш обновится из-за истечения срока его действия.
Содержимое статьи:
Удаление всего кеша с диска
Для очистки кеша в nginx достаточно просто удалить все файлы кеша, которые создал nginx в процессе своей работы. В зависимости от типа используемого прокси, файлы могут лежать в разных директориях.
При использовании proxy_cache
Местоположение каталога, в котором будут хранится закешированные ресурсы, определяется параметром proxy_cache_path в конфигурационном файле, обычно, если не менять конфигурацию, все расположено в директории: /var/cache/nginx
Чтобы удалить все закешированные страницы и файлы, необходимо проделать следующее:
sudo find /var/cache/nginx -type f -delete
После этого, все страницы и ресурсы на сайте, для которых включено кеширование, должны будут обновить свой кеш по мере поступления к ним запросов.
При использовании fastcgi_cache
Местоположение каталога, в котором будут хранится закешированные ресурсы, определяется параметром fastcgi_cache_path в конфигурационном файле. Для примера, если в конфиге есть такая строка:
fastcgi_cache_path /var/run/nginx-fastcgi-cache levels=1:2 keys_zone=FASTCGICACHE:150m inactive=60m;
То отсюда видно, что кеш хранится в директории /var/run/nginx-fastcgi-cache
Чтобы удалить все закешированные страницы и файлы, необходимо проделать следующее:
sudo find /var/run/nginx-fastcgi-cache -type f -delete
После этого, все страницы и ресурсы на сайте, для которых включено кеширование, должны будут обновить свой кеш по мере поступления к ним запросов.