Выпуск сервера приложений NGINX Unit 1.11.0
Увидел свет выпуск сервера приложений NGINX Unit 1.11, в рамках которого развивается решение для обеспечения запуска web-приложений на различных языках программирования (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js и Java). Под управлением NGINX Unit может одновременно выполняться несколько приложений на разных языках программирования, параметры запуска которых можно изменять динамически без необходимости правки файлов конфигурации и перезапуска. Код написан на языке Си и распространяется под лицензией Apache 2.0. С особенностями NGINX Unit можно познакомиться в анонсе первого выпуска.
В новой версии:
- Встроена возможность самостоятельной отдачи статического контента без обращения к внешнему http-серверу. В качестве конечной цели отмечается превращение Unit в полноценный web-сервер со встроенными средствами построения web-сервисов. Для отдачи статики достаточно в настройках указать корневой каталог с раздаваемыми файлами и при необходимости определить недостающие MIME-типы:
"share": "/data/www/example.com" "mime_types": { "text/plain": [ "readme", ".c", ".h" ], "application/msword": ".doc" }
- Поддержка изоляции процессов web-приложений с использованием средств контейнерной изоляции в Linux. В настройках можно активировать различные пространства имён, задействовать ограничения cgroup и сопоставить UID/GID в основном окружении и изолированном контейнере:
"namespaces": { "credential": true, "pid": true, "network": true, "mount": false, "uname": true, "cgroup": false }, "uidmap": [ { "container": 1000, "host": 812, "size": 1 } ],
- Добавлена встроенная реализация сервера WebSocket для сервлетов JSC (Java Servlet Container). В прошлом выпуске сервер WebSocket был реализован для Node.js.
- Появилась поддержка прямой адресации настроек API, содержащих символы »/», используя их экранирование ('%2F'). Например:
GET /config/settings/http/static/mime_types/text%2Fplain/
© OpenNet