[nginx-ru-announce] unit-1.8.0
Валентин Бартенев
vbart на nginx.com
Сб Мар 2 11:58:14 UTC 2019
Теперь вы можете задавать удобные правила, чтобы маршрутизировать запросы в
конкретные приложения на основании различных параметров.
Советую ознакомиться со следующим разделом документации:
- https://unit.nginx.org/configuration/#routes
Сейчас поддерживается маршрутизация только по хосту, URI и методу запроса.
В следующих выпусках набор доступных параметров будет расширен: будут добавлены
произвольные заголовки, аргументы, куки, адреса отправителя и получателя.
Мы также собираемся добавить поддержку регулярных выражений.
В будущих выпусках подобная маршрутизация будет использоваться также для
перенаправлений и установки параметров конфигурации по отдельным маршрутам.
Как и везде в Unit, все изменения в конфигурации маршрутов полностью
динамические и применяются на лету через API управления.
Второе новшество еще более значительно. Мы добавили в базу код из отдельной
ветки, над которой почти целый год усердно трудился Максим Романов. Новый
модуль поддерживает запуск приложений, использующих ряд технологий, описанных
в спецификации Java(tm) Servlet 3.1 (JSR-340). Но нужно учитывать, что это
бета-версия и она не была протестирована на совместимость со спецификацией
JSR-340.
Теперь вы можете легко установить данный модуль из наших пакетов, попробовать
запустить с ним свои Java-приложения и оставить нам свои пожелания. Если вы
пользуетесь Jira, для вас есть готовая инструкция:
- https://unit.nginx.org/howto/jira/
В разделы "Установка" и "Настройка" также добавлена новая документация:
- https://unit.nginx.org/installation/
- https://unit.nginx.org/configuration/#java-application
Мы рассчитываем, что открытость нашего процесса разработки позволит нам
усовершенствовать и улучшить эту версию, чтобы в итоге провести тестирование
и сертификацию по JSR-340. Пока это не будет сделано, не следует развертывать
или эксплуатировать на ее основе приложения, использующие Java Servlet 3.1.
Вместо этого рабочие приложения следует развертывать на основе реализаций,
протестированных и сертифицированных на соответствие требованиям совместимости
JSR-340, например опубликованных сертифицированных сборок эталонной реализации
JSR-340: https://javaee.github.io/glassfish/.
* Java — зарегистрированный товарный знак корпорации Oracle
и ее аффилированных лиц.
Изменения в Unit 1.8.0 01.03.2019
*) Изменение: теперь версия всегда задается тремя числами: основная версия,
дополнительная версия, редакция.
*) Изменение: теперь параметр QUERY_STRING всегда определен, даже если
в запросе нет компонента query.
*) Добавление: базовая внутренняя маршрутизация запросов по хосту, URI
и методу.
*) Добавление: экспериментальная поддержка Java Servlet Containers.
*) Исправление: в процессе роутера могла происходить ошибка сегментации.
*) Исправление: устранены различные потенциальные утечки памяти.
*) Исправление: TLS-соединения могли зависать.
*) Исправление: некоторые приложения на Perl не могли отправить тело ответа.
*) Исправление: некоторые компиляторы при определенной комбинации флагов
могли порождать неработоспособные сборки; ошибка появилась в версии 1.5.
*) Исправление: пакет для Node.js получал неправильный номер версии при
установке из исходников.
Наша система нумерации версий всегда предполагала наличие третьей компоненты,
но редакция с номером ".0" обычно была скрыта. Чтобы избежать какой-либо
путаницы и возможных проблем, мы решили всегда выводить ".0" в номере версии.
Тех, кто собирается запускать Unit в CentOS, Fedora или RHEL, чтобы работать
с последними версиями PHP, могут заинтересовать соответствующие пакеты в
репозитории Remi's RPM:
- https://unit.nginx.org/installation/#remi-s-rpm-repo
Огромное спасибо Реми Коллету за сотрудничество.
Артем Конев, наш технический писатель, недавно добавил на сайт новые инструкции
по настройке различных приложений, в том числе руководства для WordPress, Flask
и Django:
- https://unit.nginx.org/howto/
Он и далее будет составлять и выкладывать инструкции для других приложений.
Если вас интересует конкретный случай или приложение, отправьте нам запрос
в разделе документации на GitHub:
- https://github.com/nginx/unit-docs/issues
В дальнейших выпусках возможности маршрутизации и поддержку Java-приложений
будут усовершенствованы. Кроме того, ведется работа над поддержкой WebSockets
и отдачей статического контента.
Пробуйте, тестируйте, оставляйте пожелания. Уверен, совместно у нас получится
создать лучшее серверное ПО в мире.
--
Валентин Бартенев
Подробная информация о списке рассылки nginx-ru-announce