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

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

13 марта 2020 года

Состоялся выпуск сервера приложений NGINX Unit 1.16, в рамках которого развивается решение для обеспечения запуска 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 }
}
}
}

  • Реализована возможность задания гибких правил маршрутизации запросов, похожих на функциональность "try_files" в 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 ("//..." и "/* ... */") и чистка маркеров последовательности байтов ( UTF-8 BOM), что может быть полезно в случае ручного редактирования параметров в JSON.
  • Снижено потребление памяти за счёт сбрасывания тела очень больших запросов на диск.

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

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

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

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