Не всегда бывает достаточно внесения правок в .htaccess файл для включения жизненно-необходимых для быстрой работы сайта функций, как сжатие и кеширование браузером. Особенно если у вас сервер на NGINX.

Приведу пример для включения этого функционала.

Сразу сделаем оговорку. Вы должны иметь доступ к файл nginx.conf из каталога /usr/local/nginx/conf, или /etc/nginx, или /usr/local/etc/nginx, в зависимости от ОС. Это подразумевает что у Вас выделенный или виртуальный сервер. На обычных хостингах может помочь только обращение в техническую поддержку.

Сжатие GZIP для сайта на NGINX

Выглядит это следующим образом

http {

  #buffer_size, разные include и прочие общие настройки

  gzip on;
  gzip_min_length 1000;
  gzip_proxied any;
  gzip_disable "MSIE [1-6]\.(?!.*SV1)";
  gzip_types text/plain text/xml application/xml application/x-javascript text/javascript text/css text/json;
  gzip_comp_level 1;

  server {
    #настройки каждого из сайтов на сервере
  }
}

Таким образом для всех сайтов на сервере включается сжатие.

Кеширование браузером

Для кеширования необходимы следующие изменения:

location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
  expires 30d;
  #Остальные директивы
}

Таким образом решается эта простая проблема, которая становится порой серьезной головной болью вебмастеров, плохо знакомых с работой системного администратора Linux.


3 комментария

  • Igor

    «Кеширование браузером

    Для кеширования необходимы следующие изменения:»
    — что то не получилось, сайт на WP падает наглухо….
    а вот gzip работает нормально

    • Дмитрий Ильичев

      Надо логи nginx смотреть. Вероятно, мешают какие-то другие правила.

  • Сергей

    В новых версиях nginx gzip по умолчанию «on»)

Добавить комментарий для Дмитрий Ильичев Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*

*

*