Инструменты пользователя

Инструменты сайта


sett_cache

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
Последняя версияСледующая версия справа и слева
sett_cache [2016/08/17 13:18] adminsett_cache [2016/08/17 13:33] admin
Строка 85: Строка 85:
 Для ускорения выдачи статического контента сайта используется кэширование с помощью **nginx**. Как правило, кеширование необходимо для сайта контент которого не меняется в зависимости от пользователя (авторизован или гость) и нет активно меняющихся данных (например голосований). Это важно, т.к. активно изменяющийся контент требует индивидуального подхода и зачастую сложных схем кеширования. Для ускорения выдачи статического контента сайта используется кэширование с помощью **nginx**. Как правило, кеширование необходимо для сайта контент которого не меняется в зависимости от пользователя (авторизован или гость) и нет активно меняющихся данных (например голосований). Это важно, т.к. активно изменяющийся контент требует индивидуального подхода и зачастую сложных схем кеширования.
  
-В конфигурационном файле **nginx.conf**((обычно в пакетных дистрибутивах Linux (Debian, Ubuntu, Fedora, SUSE etc) он вероятнее всего будет находиться в **/etc/nginx/nginx.conf**)), в секции **server** необходимо добавить следующий location((куда именно размещать значения не имеет ну лучше в конце чтобы не перекрывал другие правила)):+В конфигурационном файле **nginx.conf**((обычно в пакетных дистрибутивах Linux (Debian, Ubuntu, Fedora, SUSE etc) он вероятнее всего будет находиться в **/etc/nginx/nginx.conf**)), в секции **server** необходимо добавить следующий location((куда именно размещать значения не имеетно лучше в конце чтобы не перекрывал другие правила)):
  
 <code> <code>
    #!Статический контент!    #!Статический контент!
-   location ~* \.(jpg|jpeg|gif|png|swf|tiff|swf|flv)$ { +   location ~* \.(jpg|jpeg|gif|png|swf|tiff|swf|flv)$  
-      root   $webroot+      root /var/www/site.com# Путь к корню вашего сайта 
-      #Кеширум картинки месяца на 4 +      expires 3M; #Кеширум картинки месяца 
-      expires 4M; +      add_header Cache-Control public; #Кешируем везде (и на прокси и на клиентах) 
-      #Кешируем везде (и на прокси и на клиентах) +      access_log off# не пишем логи
-      add_header Cache-Control public;+
    }    }
 </code> </code>
 +
 +Далее, для браузеров которые поддерживают сжатие при получении несжатого контента - **css, js, ico**, , имеет смысл  добавить((размещать опять таки лучше в конце)) следующую запись:
 +
 +<code>
 +   location ~* \.(css|js|ico) {
 +    gzip_static on; # разрешаем отдавать вместо несжатого файла предварительно сжатый с постфиксом ".gz", если такой есть
 +    gzip_disable Firefox/([0-2]\.|3\.0); #запрещаем сжатие файлов CSS и JS для проблемных браузеров
 +    gzip_disable Chrome/2;
 +    gzip_disable Safari;
 +    expires 1M; #Кешируем на один месяц
 +    add_header Cache-Control private; #Кешируем только на клиентах (ибо сжатое)
 +   }
 +</code>
 +
 +Работать эта конструкция будет только при наличии установленного модуля **gzip_static** в **nginx**.
 +
 +Далее, чтобы не закешировать лишнее у всего остального контента необходимо запретить кеширование, для этого в начале секции **server** вставляем:
 +
 +<code>
 +   expires epoch; #Просрочиваем кеш
 +</code>
 +
 +Теперь даже если данные закешируются, браузер все равно будет их запрашивать т.к. дата просрочена.

Информация на данном сайте носит ознакомительный характер и может быть изменена. © 2005-2024 iPipe.ru