Выпуск сервера приложений NGINX Unit 1.20.0

Состоялся выпуск сервера приложений NGINX Unit 1.20, в рамках которого развивается решение для обеспечения запуска web-приложений на различных языках программирования (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js и Java). Под управлением NGINX Unit может одновременно выполняться несколько приложений на разных языках программирования, параметры запуска которых можно изменять динамически без необходимости правки файлов конфигурации и перезапуска. Код написан на языке Си и распространяется под лицензией Apache 2.0. С особенностями NGINX Unit можно познакомиться в анонсе первого выпуска.

В новой версии для языка Python реализована поддержка программного интерфейса ASGI (Asynchronous Server Gateway Interface), который разработан как замена WSGI, нацеленная на обеспечение взаимодействия серверов, фреймворков и приложений, поддерживающих работу в асинхронном режиме. NGINX Unit автоматически определяет применяемый в Python-приложении интерфейс (ASGI или WSGI). Конфигурация ASGI аналогична ранее предлагавшимся настройкам для WSGI.

Другие изменения:

  • В модуль Python добавлен встроенный сервер WebSocket, который можно использовать в приложениях, совместимых со спецификацией ASGI Message Format 2.1.
  • Инициализация модуля PHP теперь производится до его помещения в chroot, что позволяет загружать все доступные в системе дополнения.
  • В список поддерживаемых MIME-типов добавлены изображения AVIF и APNG.
  • Тестовый набор переведён на использования pytest.
  • Обеспечено автоматическое монтирование изолированной ФС /tmp в chroot-окружениях.
  • Через переменную $host предоставлен доступ к нормализованному значению заголовка «Host» из запроса.
  • Добавлена опция «callable» для установки вызываемых имён Python-приложений.
  • Обеспечена совместимость с PHP 8 RC 1.
  • В объект «isolation» добавлена опция «automount» для отключения автоматического монтирования зависимостей для модулей поддержки языков.

Источник: http://www.opennet.ru/opennews/art.shtml?num=53859