Справочник по использованию Выделенного сервера
VPS / VDS

СИЛА ТЕХНОЛОГИЙ

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

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


sett_cache

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
sett_cache [2016/08/17 13:20]
admin
sett_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 /​var/​www/​site.com;​ # Путь к корню вашего сайта       root /​var/​www/​site.com;​ # Путь к корню вашего сайта
       expires 3M; #​Кеширум картинки 3 месяца       expires 3M; #​Кеширум картинки 3 месяца
       add_header Cache-Control public; #​Кешируем везде (и на прокси и на клиентах)       add_header Cache-Control public; #​Кешируем везде (и на прокси и на клиентах)
 +      access_log off; # не пишем логи
    }    }
 </​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-2018 iPipe.ru