Перейти к содержанию

untar: Модуль NGINX HTTP для распаковки

Установка на Debian/Ubuntu

Эти документы относятся к пакету APT nginx-module-untar, предоставляемому репозиторием GetPageSpeed Extras.

  1. Настройте APT репозиторий, как описано в настройке APT репозитория.
  2. Установите модуль:
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 (только обычные файлы: без символических ссылок, разреженных и т.п.)