Первый стабильный релиз сервера приложений NGINX Unit

Материал из Викиновостей, свободного источника новостей

12 апреля 2018 года

Разработчики проекта NGINX представили выпуск сервера приложений NGINX Unit 1.0, в рамках которого подготовлено решение для обеспечения запуска web-приложений на различных языках программирования. Под управлением NGINX Unit может одновременно выполняться несколько приложений на разных языках программирования, параметры запуска которых можно изменять динамически без необходимости правки файлов конфигурации и перезапуска. Код написан на языке Си и распространяется под лицензией Apache 2.0.

NGINX Unit обслуживает отдачу динамического контента самостоятельно, но также способен работать в тандеме с http-сервером nginx, который может выступать в роли балансировщика, кэша или сервера для отдачи статического контента. Изменение параметров запуска приложений производится через специальный RESTful JSON API. RESTful API позволяет управлять работой сервера приложений удалённо и централизовано. Доступ к API может быть организован через UNIX domain socket или TCP.

Особенностью реализации является то, что изменение настроек не приводит к перезапуску рабочих процессов - меняются только содержимое структур в памяти, что сводит к минимуму накладные расходы и позволяет менять параметры с любой интенсивностью. Одновременно под управлением NGINX Unit может выполняться несколько приложений на разных языках программирования, в том числе могут сочетаться разные версии языков Python, PHP, Perl, Ruby и Go.

Функциональность NGINX Unit образует несколько процессов:

  • Процесс управления конфигурацией;
  • Основной процесс для запуска обработчиков web-приложений;
  • Многопоточный процесс для маршрутизации вызовов, транслирующий внешние запросы к web-приложениям. Процесс маршрутизации в свою очередь состоит из
  • Координатор запросов;
  • Рабочие нити, которые принимают запросы клиентов, направляют их web-приложениям и возвращают ответ. Каждая рабочая нить может работать в асинхронном режиме и обслуживать тысячи одновременных соединений.
  • Процессы web-приложений. Каждый из процессов запускается с использованием sandbox-изоляции;

С правами root выполняется только главный управляющий процесс, а все остальные обработчики запускаются под отдельными непривилегированными пользователями.

Из функциональных изменений по сравнению с выпуском 0.7, отмечается появление средств для ведения логов доступа (access_log). Запросы на изменение конфигурации через API теперь должны посылаться на URL "/config/".

Для пользователей, которые хотят на практике оценить возможности NGINX Unit подготовлена статья с примерном установки системы управления контентом WordPress для запуска под управлением данного сервера приложений.

Источники[править]

Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Первый стабильный релиз сервера приложений NGINX Unit», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.