Skip to content
EN

Как включить Brotli в nginx

Коротко:

Brotli (brotli.org, Google) — compression algorithm на 15-25% лучше gzip для текста (HTML/CSS/JS). Поддержка клиентов 95%+ на 2026. Установка в nginx: compile ngx_brotli module (не в dynamic pool по умолчанию) или используйте nginx-extras package. Добавьте 3 директивы + server reload.

Ниже: пошаговая инструкция, рабочие примеры, типичные ошибки, FAQ.

Проверить скорость сайта →

Пошаговая настройка

  1. Установите ngx_brotli через pre-built package: apt install nginx-module-brotli (Ubuntu 22.04+)
  2. Или compile: git clone --recursive https://github.com/google/ngx_brotli + configure nginx with --add-module
  3. В nginx.conf (в http context): load_module modules/ngx_http_brotli_filter_module.so; load_module modules/ngx_http_brotli_static_module.so;
  4. В server block: brotli on; brotli_comp_level 6; brotli_types text/plain text/css application/json application/javascript;
  5. Static files (pre-compressed .br files): brotli_static on;
  6. nginx -t && systemctl reload nginx
  7. Проверьте: curl -H "Accept-Encoding: br" -I https://example.com | grep -i "content-encoding" — должно быть "br"

Рабочие примеры

СценарийКонфиг
nginx.conf модулиload_module modules/ngx_http_brotli_filter_module.so; load_module modules/ngx_http_brotli_static_module.so;
server blockbrotli on; brotli_comp_level 6; brotli_static on; brotli_types text/plain text/css application/json application/javascript application/xml+rss text/xml image/svg+xml;
Pre-compress filesfind /var/www -type f \( -name "*.css" -o -name "*.js" \) | xargs -I{} brotli -q 11 "{}"
ApacheLoadModule brotli_module modules/mod_brotli.so\nBrotliCompressionQuality 5

Типичные ошибки

  • brotli_types не включает нужные MIME — не compressed
  • compression level 11 (max) на lines — CPU 100%. Для realtime 4-6 оптимально
  • brotli_static on без pre-compressed files — ничего не меняет
  • Без gzip fallback — старые клиенты (< 5%) без Brotli получают uncompressed
  • Proxy-cached responses с gzip — Brotli не применится если уже gzipped

Как включить Brotli compression в nginx

Brotli compression можно включить в nginx, добавив соответствующие модули и настройки в конфигурацию сервера. Для этого убедитесь, что у вас установлена последняя версия nginx с поддержкой Brotli. Затем добавьте следующие строки в файл конфигурации nginx:

location / {
    gzip off;
    brotli on;
    brotli_comp_level 6;
    brotli_types text/plain text/css application/javascript application/json application/xml;
}

После внесения изменений, перезапустите nginx командой sudo systemctl restart nginx.

Пошаговая инструкция по включению Brotli в nginx

Чтобы включить Brotli compression в nginx, следуйте пошаговой инструкции ниже:

  1. Установите необходимые модули: Убедитесь, что у вас установлен модуль Brotli. Если он отсутствует, вы можете установить его через пакетный менеджер или собрать nginx с поддержкой Brotli. Например, для Ubuntu выполните команду:
  2. sudo apt install nginx-extras
  3. Настройте конфигурацию nginx: Откройте файл конфигурации nginx, обычно он находится по пути /etc/nginx/nginx.conf. Добавьте в секцию http {} следующие строки:
  4. brotli on;
    brotli_comp_level 6;
    brotli_types text/plain text/css application/javascript application/json application/xml;
  5. Настройте сжатие для конкретных локаций: Вы можете настроить Brotli compression для конкретных локаций. Например:
  6. location / {
        gzip off;
        brotli on;
        brotli_types text/plain text/css application/javascript;
    }
  7. Перезапустите nginx: После внесения всех изменений, перезапустите сервер:
  8. sudo systemctl restart nginx
  9. Проверьте работу Brotli: Вы можете использовать инструменты разработчика в браузере или команду curl для проверки заголовков ответа. Например:
  10. curl -H 'Accept-Encoding: br' -I https://yourdomain.com

    Если Brotli работает, вы увидите заголовок Content-Encoding: br.

Преимущества использования Brotli compression

Brotli compression имеет несколько преимуществ по сравнению с другими методами сжатия, такими как Gzip. Вот некоторые из них:

  • Высокая степень сжатия: Brotli обеспечивает более эффективное сжатие, что позволяет уменьшить размер передаваемых данных на 20-30% по сравнению с Gzip.
  • Улучшенная производительность: Сжатие данных с помощью Brotli снижает время загрузки страниц, что особенно важно для мобильных устройств и пользователей с медленным интернет-соединением.
  • Поддержка современных браузеров: Большинство современных браузеров поддерживают Brotli, что делает его отличным выбором для оптимизации веб-сайтов.

Для достижения максимальной эффективности, рекомендуется установить brotli_comp_level на уровень от 4 до 6, так как это обеспечивает оптимальный баланс между временем сжатия и размером сжатых данных. Например:

brotli_comp_level 6;

Проверьте результаты, используя инструменты веб-аналитики, чтобы увидеть, как Brotli compression влияет на скорость загрузки вашего сайта и общую производительность.

Как включить Brotli compression в nginx

Brotli compression можно включить в nginx, добавив соответствующий модуль и настроив конфигурацию сервера. Для этого вам нужно установить модуль Brotli и изменить файл конфигурации nginx, добавив необходимые директивы для активации сжатия. В результате вы сможете значительно улучшить скорость загрузки страниц и уменьшить объем передаваемых данных.

Шаги для настройки Brotli compression в nginx

Включение Brotli compression в nginx требует выполнения нескольких шагов. Ниже приведены основные этапы, которые помогут вам настроить сжатие Brotli на вашем сервере:

  1. Установка модуля Brotli: Для начала вам нужно установить модуль Brotli, если он еще не установлен. Вы можете использовать систему управления пакетами, например, apt на Ubuntu:
sudo apt install brotli
  1. Сборка nginx с поддержкой Brotli: Если ваш текущий nginx не поддерживает Brotli, вам нужно будет собрать его с этим модулем. Сначала загрузите исходный код nginx и модуль Brotli:
git clone https://github.com/nginx/nginx.git
git clone https://github.com/google/ngx_brotli.git
  1. Конфигурация сборки: Перейдите в каталог nginx и выполните команду конфигурации, указав путь к модулю Brotli:
cd nginx && ./configure --add-module=../ngx_brotli
  1. Сборка и установка: После успешной конфигурации выполните сборку и установку:
make && sudo make install
  1. Настройка конфигурации nginx: Теперь вам нужно отредактировать файл конфигурации nginx, добавив директивы для активации Brotli compression. Откройте файл конфигурации (обычно находится в /etc/nginx/nginx.conf) и добавьте следующие строки:
load_module modules/ngx_brotli.so;
brotli on;
brotli_types text/html text/css application/javascript application/json;
brotli_comp_level 6;
  1. Перезагрузка nginx: После внесения изменений в конфигурацию не забудьте перезагрузить nginx, чтобы применить новые настройки:
sudo systemctl reload nginx

После выполнения всех этих шагов Brotli compression будет активирован на вашем сервере nginx. Вы можете проверить, работает ли сжатие, используя инструменты для анализа производительности или консоль браузера.

PerformanceОбщая оценка скорости 0-100
Core Web VitalsLCP, FID, CLS — метрики Google
Размер страницыОбъём HTML, CSS, JS, изображений
РекомендацииКонкретные советы по ускорению

Почему нам доверяют

Lighthouse
движок анализа
CWV
Core Web Vitals
4
категории Lighthouse
Точные
рекомендации

Как это работает

1

Введите URL страницы

2

Lighthouse анализирует

3

Получите CWV и советы

Почему скорость сайта важна?

Скорость загрузки напрямую влияет на конверсию, SEO-позиции и удовлетворённость пользователей. Google использует Core Web Vitals как фактор ранжирования. Каждая лишняясекунда загрузки может стоить до 7% конверсии.

Lighthouse-анализ

Анализ на основе Google Lighthouse: Performance, Accessibility, Best Practices, SEO.

Core Web Vitals

LCP (скорость отрисовки), FID (интерактивность), CLS (визуальная стабильность) — ключевые метрики Google.

Анализ ресурсов

Разбивка по типам: HTML, CSS, JavaScript, изображения, шрифты. Размер, количество запросов, блокирующие ресурсы.

Действенные советы

Конкретные рекомендации с оценкой экономии: сжатие изображений, кеширование, минификация и т.д.

Mobile vs Desktop

Mobile
  • Тестирование на эмуляции Moto G Power (медленный CPU)
  • Сеть: 4G (1.6 Mbps, 150ms RTT)
  • Строже оценивает скорость
  • Google индексирует mobile-first
  • Приоритет для SEO-оптимизации
Desktop
  • Высокая производительность CPU
  • Быстрое соединение без ограничений
  • Результаты обычно выше на 20-40 баллов
  • Важен для B2B и корпоративных сайтов
  • Используйте для baseline-сравнений

Кому это нужно

SEO-специалисты

Core Web Vitals для ранжирования

Разработчики

оптимизация производительности

Маркетологи

скорость = конверсия

DevOps

регрессия производительности

Частые ошибки

Неоптимизированные изображенияИзображения — до 70% веса страницы. Используйте WebP/AVIF и lazy loading.
Блокирующий JS в &lt;head&gt;Скрипты без async/defer блокируют отрисовку. Переместите в конец или добавьте атрибут.
Нет кеширования статикиБез Cache-Control браузер перезагружает CSS/JS при каждом визите.
Слишком много HTTP-запросовКаждый запрос — это latency. Объединяйте файлы, используйте спрайты или инлайн критический CSS.
Отсутствие сжатия (gzip/brotli)Сжатие уменьшает размер текстовых ресурсов на 60-80%. Включите brotli на сервере.

Лучшие практики

Оптимизируйте изображенияWebP для фото, SVG для иконок. loading="lazy" для изображений ниже first fold.
Включите brotli-сжатиеBrotli на 15-20% эффективнее gzip. Настройте в nginx: brotli on;
Настройте кешированиеСтатика: Cache-Control: max-age=31536000, immutable. HTML: max-age=0, s-maxage=60.
Предзагрузка критических ресурсов<link rel="preload"> для шрифтов и CSS. Уменьшает LCP на 200-500ms.
Тестируйте регулярноСкорость деградирует со временем. Проверяйте после каждого деплоя и раз в месяц.

Получите больше с бесплатным аккаунтом

История проверок скорости, сравнение с конкурентами и мониторинг PageSpeed.

Зарегистрироваться (FREE)

Больше по теме

Часто задаваемые вопросы

Насколько лучше Brotli чем gzip?

Для текста (HTML/CSS/JS): 15-25% меньше размер при тех же CPU. Для бинарных (уже сжатых image) — разница минимальна.

Работает ли Brotli через HTTPS?

Да, требуется HTTPS (клиенты не отправляют Accept-Encoding: br через plain HTTP). Современные сайты все на HTTPS.

Совместимость клиентов?

Chrome 50+, Firefox 44+, Safari 11+ (2017). IE не поддерживает. На 2026 coverage 95%+.

Как проверить что работает?

<a href="/speed">Enterno Speed checker</a> покажет response headers. Или DevTools → Network → Response Headers → Content-Encoding.

Запустить инструмент, который описан в этой статье

Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.