Установка Nginx · 3 min read · Oct 20, 2025

Как установить Nginx с поддержкой сжатия Brotli на Ubuntu 20.04

Brotli — это алгоритм сжатия с открытым исходным кодом, созданный Google. Он может использоваться как альтернатива Gzip, Zopfli и Deflate. Это универсальный алгоритм сжатия без потерь, который сжимает данные, используя комбинацию современной вариации алгоритма LZ77 и кодирования Хаффмана. Он сжимает данные на 10-20 процентов больше, чем текущие алгоритмы сжатия.

Этот учебник покажет вам, как установить Brotli с Nginx на сервере Ubuntu 20.04.

Предварительные требования

  • Сервер с установленной Ubuntu 20.04.
  • На сервере настроен пароль root.

Начало работы

Сначала рекомендуется обновить пакеты вашей системы до последней версии. Вы можете обновить все из них, выполнив следующую команду:

apt-get update -y

После обновления всех пакетов вы можете установить другие зависимости, выполнив следующую команду:

apt-get install dpkg-dev curl gnupg2 build-essential zlib1g-dev libpcre3 libpcre3-dev unzip -y

После установки всех зависимостей вы можете перейти к следующему шагу.

Загрузка исходников Nginx и Brotli

Перед загрузкой исходников Nginx и Brotli вам необходимо добавить репозиторий Nginx в вашу систему.

Сначала загрузите и добавьте ключ Nginx с помощью следующей команды:

curl -L https://nginx.org/keys/nginx_signing.key | apt-key add -

После добавления ключа добавьте репозиторий Nginx с помощью следующей команды:

nano /etc/apt/sources.list.d/nginx.list

Добавьте следующие строки:

deb http://nginx.org/packages/ubuntu/ focal nginx
deb-src http://nginx.org/packages/ubuntu/ focal nginx

Сохраните и закройте файл, когда закончите, затем обновите репозиторий с помощью следующей команды:

apt-get update -y

После обновления репозитория измените каталог на /usr/local/src и загрузите исходники Nginx с помощью следующей команды:

cd /usr/local/src  
apt-get source nginx

Затем установите все необходимые зависимости для Nginx с помощью следующей команды:

apt-get build-dep nginx -y

После установки всех зависимостей загрузите последнюю версию исходников Brotli из репозитория Git с помощью следующей команды:

git clone --recursive https://github.com/google/ngx_brotli.git

Затем измените каталог на исходники Nginx и отредактируйте файл правил debian:

cd /usr/local/src/nginx-*/  
nano debian/rules

Теперь у вас будет две среды сборки для ‘config.env.nginx’ и ‘config.env.nginx_debug’. Добавьте опцию ‘–add-module=’ для ngx_brotli в обе среды сборки.

--add-module=/usr/local/src/ngx_brotli

Сохраните и закройте файл, когда закончите. Теперь скомпилируйте и соберите пакет nginx с поддержкой ngx_brotli с помощью следующей команды:

dpkg-buildpackage -b -uc -us

После завершения сборки вы получите пакеты nginx-*.deb в каталоге ‘/usr/local/src’, как показано ниже.

ls -l /usr/local/src/*.deb

Вы должны получить следующий вывод:

-rw-r--r-- 1 root root  1124244 Dec  2 06:30 /usr/local/src/nginx_1.18.0-2~focal_amd64.deb
-rw-r--r-- 1 root root 10608196 Dec  2 06:30 /usr/local/src/nginx-dbg_1.18.0-2~focal_amd64.deb

Когда вы закончите, вы можете перейти к следующему шагу.

Установка Nginx и включение поддержки Brotli

Теперь у вас есть пакеты Nginx с поддержкой Brotli. Вы можете установить их с помощью следующей команды:

cd /usr/local/src/  
dpkg -i *.deb

После установки всех пакетов отредактируйте основной конфигурационный файл Nginx и включите поддержку Brotli:

nano /etc/nginx/nginx.conf

Добавьте следующие строки под http{

    brotli on;
    brotli_comp_level 6;
    brotli_static on;
    brotli_types text/plain text/css application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript image/x-icon image/vnd.microsoft.icon image/bmp image/svg+xml;

Сохраните и закройте файл, затем проверьте Nginx на наличие синтаксических ошибок с помощью следующей команды:

nginx -t

Вы должны получить следующий вывод:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Затем перезапустите службу Nginx, чтобы применить изменения:

systemctl restart nginx

Когда вы закончите, вы можете перейти к следующему шагу.

Проверка Nginx и Brotli

На данный момент Nginx установлен и настроен с поддержкой Brotli. Теперь пришло время проверить, включена ли поддержка Brotli в Nginx.

Чтобы протестировать это, выполните следующую команду в вашем терминале:

curl -H 'Accept-Encoding: br' -I http://localhost

Если все в порядке, вы увидите результат ‘content-encoding: br’ для поддержки Brotli, как показано ниже:

HTTP/1.1 200 OK
Server: nginx/1.18.0
Date: Wed, 02 Dec 2020 06:38:17 GMT
Content-Type: text/html
Last-Modified: Tue, 21 Apr 2020 14:09:01 GMT
Connection: keep-alive
ETag: W/"5e9efe7d-264"
Content-Encoding: br

Заключение

Поздравляем! вы успешно установили Nginx с поддержкой Brotli на сервере Ubuntu 20.04. Надеюсь, теперь вы сможете легко включить сжатие Brotli в производственной среде. Не стесняйтесь задавать мне вопросы, если у вас есть какие-либо.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.