Выпуск сервера приложений NGINX Unit 1.17.0
Состоялся выпуск сервера приложений NGINX Unit 1.17, в рамках которого развивается решение для обеспечения запуска web-приложений на различных языках программирования (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js и Java). Под управлением NGINX Unit может одновременно выполняться несколько приложений на разных языках программирования, параметры запуска которых можно изменять динамически без необходимости правки файлов конфигурации и перезапуска. Код написан на языке Си и распространяется под лицензией Apache 2.0. С особенностями NGINX Unit можно познакомиться в анонсе первого выпуска.
В новой версии:
- Возможность использования выражений «return» и «location» в блоках «action» для немедленного возвращения произвольного кода возврата или перенаправления на внешний ресурс. Например, для запрета доступа к URI, подпадающих под маску »*/.git/*», или перенаправления на хост с www можно использовать следующие настройки:
{ "match": { "uri": "*/.git/*" }, "action": { "return": 403 } } { "match": { "host": "example.org", }, "action": { "return": 301, "location": "https://www.example.org" } }
- Поддержка дробных значений веса серверов в блоках «upstream». Например, конструкцию с целыми весами, подразумевающую перенаправление на 192.168.0.103 в два раза меньшего числа запросов, чем для остальных:
{ "192.168.0.101:8080": { "weight": 2 }, "192.168.0.102:8080": { "weight": 2 }, "192.168.0.103:8080": { }, "192.168.0.104:8080": { "weight": 2 } }
теперь можно привести к более простой и логичной форме:{ "192.168.0.101:8080": { }, "192.168.0.102:8080": { }, "192.168.0.103:8080": { "weight": 0.5 }, "192.168.0.104:8080": { } }
- Решены проблемы со сборкой в DragonFly BSD;
- Исправлена ошибка, приводившая к выводу кода 502 «Bad Gateway» при высокой нагрузке;
- Исправлена утечка памяти в router, проявляющаяся начиная с выпуска 1.13.0;
- Устранены несовместимости с некоторыми приложениями Node.js.
Источник: http://www.opennet.ru/opennews/art.shtml? num=52753
© OpenNet