выпуск сервера приложений , в рамках которого развивается решение для обеспечения запуска web-приложений на различных языках программирования (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js и Java). Под управлением NGINX Unit может одновременно выполняться несколько приложений на разных языках программирования, параметры запуска которых можно изменять динамически без необходимости правки файлов конфигурации и перезапуска. Код написан на языке Си и под лицензией Apache 2.0. С особенностями NGINX Unit можно познакомиться в первого выпуска.
В новой версии:
- поддержка балансировки нагрузки в режиме round-robin. Например, для распределения нагрузки на два сервера 192.168.0.100 и 192.168.0.101 с направлением на второй в два раза больше запросов можно использовать следующую конструкцию:
«upstreams»: {
«rr-lb»: {
«servers»: {
«192.168.0.100:8080»: { },
«192.168.0.101:8080»: { «weight»: 2 }
}
}
} - возможность задания гибких правил маршрутизации запросов, похожих на функциональность «» в nginx. Дополнительный маршрут задаётся при помощи директивы «fallback», которая срабатывает, если запрошенный файл не найден в пути, определённом через директиву «share». Например, для того чтобы вызвать обработчик на PHP в случае отсутствия файла в каталоге /data/www/ можно указать:
{
«share»: «/data/www/»,
«fallback»: {
«pass»: «applications/php»
}
}Допускается использование вложенных блоков «fallback». Например, если файла нет в /data/www/, можно попытаться выдать его из /data/cache/, а если нет и там, перенаправить запрос на другой бэкенд:
{
«share»: «/data/www/»,«fallback»: {
«share»: «/data/cache/»,«fallback»: {
«proxy»: «http://127.0.0.1:9000»
}
}
} - В загружаемых в формате JSON параметрах конфигурации обеспечено удаление комментариев в стиле JavaScript («//…» и «/* … */») и чистка маркеров последовательности байтов (), что может быть полезно в случае ручного редактирования параметров в JSON.
- Снижено потребление памяти за счёт сбрасывания тела очень больших запросов на диск.
Источник: opennet.ru
