Кэширование – это важный протокол, как HTTP и просмотр.
Основным принципом кэширования контента является выгрузка повторяющейся работы с серверов.
Существуют специальные директивы для механизмов кэширования, и за этими директивами должны следовать кеширующие серверы либо в браузере, либо в выделенном кеш-сервере.
Политики кеша определяются браузерами и выделенными серверами кеша.
Механизм кеша работает с помощью заголовка управления кешем.
Кэш-память
Сначала откройте файл конфигурации, используя следующую команду:
# cd /etc/nginx/conf.d/ # vim vir.conf
Добавьте в файл следующую конфигурацию :
server { server_name www.itsecforu.ru; location / { root /usr/share/nginx/html; index index.html index.htm; } location ~.(jpg) { root /usr/share/nginx/html; } }
Сохраните и выйдите из файла конфигурации после завершения.
Теперь вам нужно проверить синтаксис.
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Теперь вы должны перезапустить службу nginx следующим образом:
# systemctl restart nginx
И тогда вам нужно выполнить команду curl.
Вы заметите, что на выходе нет информации, связанной с Cache-контролем.
# curl -I https://www.itsecforu.ru/index1.jpg HTTP/1.1 200 OK Server: nginx/1.12.2 Date: Mon, 05 Feb 2018 12:29:17 GMT Content-Type: image/jpeg Content-Length: 12871 Last-Modified: Mon, 05 Feb 2018 11:59:55 GMT Connection: keep-alive ETag: "5a78473b-3247" Accept-Ranges: bytes
Итак, вам нужно снова открыть файл конфигурации.
# vim vir.conf
Теперь добавьте заголовок expire 48h, который по умолчанию добавляет заголовок управления кешем и для этого добавляет следующее.
server { server_name www.linuxhelp1.com; location / { root /usr/share/nginx/html; index index.html index.htm; } location ~.(jpg) { root /usr/share/nginx/html; expires 48h; } }
Сохранить и выйти из файла конфигурации
Еще раз перезапустите службу nginx.
# systemctl restart nginx
И выполните команду curl, чтобы проверить Cache-Control.
# curl -I https://www.itsecforu.ru/index1.jpg HTTP/1.1 200 OK Server: nginx/1.12.2 Date: Mon, 05 Feb 2018 12:31:19 GMT Content-Type: image/jpeg Content-Length: 12871 Last-Modified: Mon, 05 Feb 2018 11:59:55 GMT Connection: keep-alive ETag: "5a78473b-3247" Expires: Wed, 07 Feb 2018 12:31:19 GMT Cache-Control: max-age=172800 Accept-Ranges: bytes
Теперь вы заметите, что Cache-Control видна.