Пост

Установка и подключение модуля компрессии Brotli для NGINX в Centos 7

Brotli - это новый алгоритм сжатия, который теперь широко поддерживается во многих браузерах. Метод сжатия brotli основан на современном варианте алгоритма LZ77. По сравнению с классическим алгоритмом deflate (середина 1990-х, ZIP, gzip), brotli, как правило, достигает на 20% более высокую степень сжатия для текстовых файлов, сохраняя сходную скорость сжатия и распаковки.

Добавим репозиторий GetPageSpeed

1
$ sudo yum -y install https://extras.getpagespeed.com/release-el7-latest.rpm

Ранее была рассмотрена установка Nginx

Установим модуль nginx-module-nbr

1
$ sudo yum -y install nginx-module-nbr

Откроем основной конфиг Nginx и подключим модуль

1
2
3
4
5
6
7
$ sudo nano /etc/nginx/nginx.conf
...
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
load_module "modules/ngx_http_brotli_filter_module.so";
load_module "modules/ngx_http_brotli_static_module.so";
...

Подключим Brotli компрессию во всех наших сайтах, для этого создадим файл с соответствующим содержимым

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$ sudo nano /etc/nginx/conf.d/brotli.conf
brotli on;
brotli_types text/xml
       image/svg+xml
       application/x-font-ttf
       image/vnd.microsoft.icon
       application/x-font-opentype
       application/json
       font/eot
       application/vnd.ms-fontobject
       application/javascript
       font/otf
       application/xml
       application/xhtml+xml
       text/javascript
       application/x-javascript
       text/plain
       application/x-font-truetype
       application/xml+rss
       image/x-icon
       font/opentype
       text/css
       image/x-win-bitmap;
brotli_comp_level 4;

Проверяем конфигурацию Nginx на ошибки и перезагружаем его

1
2
3
4
5
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

$ sudo systemctl restart nginx

Проверяем, подключилось ли сжатие Brotli на сайте

1
2
3
$ sudo curl -IL https://itdraft.ru -H "Accept-Encoding: br"
...
Content-Encoding: br
Авторский пост защищен лицензией CC BY 4.0 .

© IT Draft. Некоторые права защищены.