Включаем сжатие gzip для Nginx на Linux

nginx-of-gzip

Сейчас, все браузеры поддерживают сжатия (картинок, файлов), т.к. он является частью спецификации протокола HTTP 1.1. Такое сжатие, а именно сжатие текстовых форматов (например CSS, Javascript или HTML) сможет уменьшить их объем до 70%

Включаем поддержку сжатия gzip в nginx

Чтобы включить сжатие в nginx добавим в конфигурационный файл nginx параметры для включения gzip сжатия web содержимого страницы

sudo nano /etc/nginx/nginx.conf
# GZIP Compression
gzip on;
gzip_static on;
gzip_vary on;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_min_length 512;
gzip_buffers 8 64k;
gzip_types text/plain text/css text/javascript text/js text/xml application/json application/javascript application/x-javascript application/xml application/xml+rss application/x-font-ttf image/svg+xml font/opentype;
gzip_proxied any;
gzip_disable "MSIE [1-6].(?!.*SV1)";

Тест сжатия gzip на самом сервере

После внесения изменения берем curl и проверяем:

curl -H "Accept-Encoding: gzip,deflate" -I https://pro-gram.ru
HTTP/2 200 
server: nginx
date: Wed, 10 Oct 2018 05:02:57 GMT
content-type: text/html; charset=UTF-8
vary: Accept-Encoding
link: https://pro-gram.ru/wp-json/; rel="https://api.w.org/"
strict-transport-security: max-age=31536000;
x-frame-options: DENY
content-encoding: gzip

Обращаем внимание на поле Content-Encoding, сжатие gzip должно быть включено.

Тестирование при помощи Apache Benchmark

Устанавливаем apache2-utils и проводим тестирование

sudo apt install apache2-utils
ab -n 1 -H "Accept-Encoding: gzip,deflate" https://pro-gram.ru

Смотрим на поля помеченные жирным, при выключенном gzip они увеличиваются.

Server Software:        nginx
Server Hostname: pro-gram.ru
Server Port: 443
SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,4096,256
TLS Server Name: pro-gram.ru
Document Path: /index
Document Length: 60511 bytes
Concurrency Level: 1
Time taken for tests: 0.951 seconds
Complete requests: 1
Failed requests: 0
Non-2xx responses: 1
Total transferred: 60828 bytes
HTML transferred: 60511 bytes
Requests per second: 1.05 #/sec
Time per request: 950.764 ms
Time per request: 950.764 [ms] (mean, across all concurrent requests)
Transfer rate: 62.48 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 226 226 0.0 226 226
Processing: 724 724 0.0 724 724
Waiting: 555 555 0.0 555 555
Total: 951 951 0.0 951 951

Проходим тест сжатия gzip в интернете

Переходим на сайт и проводим тест для своего домена

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Включаем сжатие gzip для Nginx на Linux
5 (100%) 4 votes

1
Оставить комментарий

avatar
1 Цепочка комментария
0 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
1 Авторы комментариев
SYSadmin Авторы недавних комментариев
  Подписаться  
новее старее большинство голосов
Уведомление о
Меню

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Рейтинг@Mail.ru