Кэширование в nginx, ускоряем работу сайта

Заходим в папку с настройками nginx

cd /etc/nginx

Открываем, через ваш любимый редактор файл настроек nginx.conf и добавляем код:

#Задаёт путь и другие параметры  кэша
       proxy_cache_path /disk/cache levels=1:2 keys_zone=cache:30m max_size=1G;
# Задаёт имя каталога для хранения временных файлов с данными, полученными от проксируемых серверов
        proxy_temp_path /var/lib/nginx/proxy 1 2;
# Запрещает обработку некоторых полей заголовка
        proxy_ignore_headers Expires Cache-Control;
# Определяет, в каких случаях можно использовать устаревший закэшированный ответ
        proxy_cache_use_stale error timeout invalid_header http_502;
# Задаёт условия, при которых ответ не будет сохраняться в кэш
        proxy_no_cache $cookie_session;

Теперь в раздел настроек нашего сайта в блок location, который мы хотим кэшировать добавим код(в данном примере кешируем раздел сайта со статьями )

#кэшироваться будет  только  http://ваш сайт/articles/
location ^~ /articles/ { proxy_cache cache;
# Задаёт время кэширования
proxy_cache_valid 40m;
# Задаёт время кэширования для 404 кодов ответа
proxy_cache_valid 404 10m;
#-----------------------------------
#тут ваши настройки location
#-----------------------------------
}

Все теперь перезагружаем nginx


sudo /etc/init.d/nginx restart

Все теперь раздел /articles/ у нас кэширует запросы, а актуальность составляет 40 минут. Это значит, что после первого запроса к разделу сайта, он попадет в кэш и в течении 40 минут все последующие запросы будут выдаваться из кэша. Это позволит снизить нагрузку и увеличить скорость работы вашего сайта.

Оставьте комментарий