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

Комментарии

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