untar: Модуль NGINX HTTP для распаковки
Установка на Debian/Ubuntu
Эти документы относятся к пакету APT nginx-module-untar, предоставляемому репозиторием GetPageSpeed Extras.
- Настройте APT репозиторий, как описано в настройке APT репозитория.
- Установите модуль:
sudo apt-get update
sudo apt-get install nginx-module-untar
Показать дистрибутивы и архитектуры
| Дистрибутив | Версия | Компонент | Архитектуры |
|-------------|--------------------|-------------|----------------|
| debian | bookworm | main | amd64, arm64 |
| debian | bookworm-mainline | main | amd64, arm64 |
| 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 |
Этот модуль nginx может обслуживать статическое содержимое файлов напрямую из архивов tar. Вдохновлено nginx-unzip-module.
Возможности
- Нулевое копирование: выводит содержимое прямо из архивного файла (без временных файлов)
- Кеширование записей файлов архива: сокращение времени поиска в архиве
- Поддерживаемые типы элементов tar: обычный файл, данные с длинными именами файлов
Пример конфигурации
location ~ ^/(.+?\.tar)/(.*)$ {
untar_archive "$document_root/$1";
untar_file "$2";
untar;
}
Директивы модуля
untar_archive строка
контекст: http, server, location
Указывает имя архива tar.
untar_file строка
контекст: http, server, location
Указывает файл, который необходимо извлечь из untar_archive.
untar
контекст: location
Запускает распаковку untar_file из untar_archive
Известные ограничения
- поддерживаются только методы GET, HEAD
- нет списка записей архивов
- поддержка базового формата tar (только обычные файлы: без символических ссылок, разреженных и т.п.)