Сегодня поговорим о сжатия Gzip и его настройка в nginx.
В nginx за сжатие ответа отвечает модуль ngx_http_gzip_module, входящий в стандартную сборку.
Официальное описание моуля:
Модуль ngx_http_gzip_module — это фильтр, сжимающий ответ методом gzip, что позволяет уменьшить размер передаваемых данных в 2 и более раз.
Включаем GZip в Nginx, в файле /usr/local/etc/nginx/nginx.conf (путь может отличаться в зависимости от вашей установки)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
http { ... # Включение модуля gzip on; # Минимальная длина ответа, при которой модуль будет жать, в байтах gzip_min_length 1000; # Разрешить сжатие для всех проксированных запросов gzip_proxied any; # MIME-типы которые необходимо жать (text/html указывать не надо, он сжимается всегда) gzip_types text/plain text/xml application/xml application/x-javascript text/javascript text/css text/json; # Запрещает сжатие ответа методом gzip для IE6 gzip_disable "msie6"; # Уровень gzip-компрессии gzip_comp_level 6; ... } |
Не забудьте перезапустить Nginx, для вступления в силу изменений конфигурационного файла.
5 комментариев
Если посмотреть на график размера сжатого файла (или на таблицу чуть ниже), видно что после 5-рки сжатие практически не растет, а вот скорость падает почти в 2 раза если сжимать на 9.
Спасибо, реально помогли, а то тест выдавал отсутствие сжатия и я уже и не знал как это сделать
Спасибо за статью. Пробую настроить статическое gzip сжатие. На сколько я понял, можно сжимать не только файлы шаблона, но так же файлы плагинов и файлы самого движка WordPress?
Спасибо, большое! Все работает. Значение в PageSpeed увеличилось на 30
Рад что статья вам была полезной.