zstd: Модуль NGINX для сжатия Zstandard
Установка на Debian/Ubuntu
Эти документы относятся к APT пакету nginx-module-zstd, предоставляемому репозиторием GetPageSpeed Extras.
- Настройте репозиторий APT, как описано в настройке репозитория APT.
- Установите модуль:
sudo apt-get update
sudo apt-get install nginx-module-zstd
Показать дистрибутивы и архитектуры
| Дистрибутив | Версия | Компонент | Архитектуры |
|-------------|----------------|-------------|----------------|
| debian | trixie | main | amd64, arm64 |
| debian | trixie-mainline| main | amd64, arm64 |
| ubuntu | focal | main | amd64, arm64 |
| ubuntu | focal-mainline | main | amd64, arm64 |
| ubuntu | jammy | main | amd64, arm64 |
| ubuntu | jammy-mainline | main | amd64, arm64 |
| ubuntu | noble | main | amd64, arm64 |
| ubuntu | noble-mainline | main | amd64, arm64 |
zstd-nginx-module - Модуль Nginx для сжатия Zstandard.
Содержание
- Имя
- Статус
- Описание
- Установка
- Директивы
- ngx_http_zstd_filter_module
- ngx_http_zstd_static_module
- Переменные
- ngx_http_zstd_filter_module
- Автор
Статус
Этот модуль Nginx в настоящее время считается экспериментальным. Проблемы и PR приветствуются, если вы столкнетесь с какими-либо проблемами.
Описание
## укажите словарь
zstd_dict_file /path/to/dict;
server {
listen 127.0.0.1:8080;
server_name localhost;
location / {
# включить сжатие zstd
zstd on;
zstd_min_length 256; # не менее 256 байт
zstd_comp_level 3; # установить уровень 3
proxy_pass http://foo.com;
}
}
server {
listen 127.0.0.1:8081;
server_name localhost;
location / {
zstd_static on;
root html;
}
}
Директивы
ngx_http_zstd_filter_module
Модуль ngx_http_zstd_filter_module является фильтром, который сжимает ответы с использованием метода "zstd". Это часто помогает сократить размер передаваемых данных вдвое или даже больше.
zstd_dict_file
Синтаксис: zstd_dict_file /path/to/dict;
По умолчанию: -
Контекст: http
Указывает внешний словарь.
ПРЕДУПРЕЖДЕНИЕ: Будьте осторожны! Регистрация кодирования содержимого только указывает средство для сигнализации об использовании формата zstd и дополнительно не указывает никакого механизма для рекламы/ведении переговоров/синхронизации использования конкретного словаря между клиентом и сервером. Используйте zstd_dict_file только если вы можете гарантировать, что обе стороны (сервер и клиент) способны использовать один и тот же словарь (например, реклама с помощью HTTP-заголовка). См. https://github.com/tokers/zstd-nginx-module/issues/2 для подробностей.
zstd
Синтаксис: zstd on | off;
По умолчанию: zstd off;
Контекст: http, server, location, if in location
Включает или отключает сжатие zstd для ответа.
zstd_comp_level
Синтаксис: zstd_comp_level level;
По умолчанию: zstd_comp_level 1;
Контекст: http, server, location
Устанавливает уровень сжатия zstd для ответа. Приемлемые значения находятся в диапазоне от 1 до ZSTD_maxCLevel().
zstd_min_length
Синтаксис: zstd_min_length length;
По умолчанию: zstd_min_length 20;
Контекст: http, server, location
Устанавливает минимальную длину ответа, который будет сжат zstd. Длина определяется только из заголовка "Content-Length" ответа.
zstd_types
Синтаксис: zstd_types mime-type ...;
По умолчанию: zstd_types text/html;
Контекст: http, server, location
Включает ztd для ответов на указанные MIME типы в дополнение к "text/html". Специальное значение "*" соответствует любому MIME типу.
zstd_buffers
Синтаксис: zstd_buffers number size;
По умолчанию: zstd_buffers 32 4k | 16 8k;
Контекст: http, server, location
Устанавливает количество и размер буферов, используемых для сжатия ответа. По умолчанию, размер буфера равен одной странице памяти. Это либо 4K, либо 8K, в зависимости от платформы.
ngx_http_zstd_static_module
Модуль ngx_http_zstd_static_module позволяет отправлять предкомпилированные файлы с расширением ".zst" вместо обычных файлов.
zstd_static
Синтаксис: zstd_static on | off | always;
По умолчанию: zstd_static off;
Контекст: http, server, location
Включает ("on") или отключает ("off") проверку существования предкомпилированных файлов. Также учитываются следующие директивы: gzip_vary.
При значении "always", файл "zstd" используется во всех случаях, без проверки, поддерживает ли клиент его.
Переменные
ngx_http_zstd_filter_module
$zstd_ratio
Достигнутое отношение сжатия, рассчитанное как отношение между оригинальным и сжатым размерами ответа.