LINUX.ORG.RU
ФорумAdmin

Вышел NGINX Unit 1.7

 ,


0

1

tl;dr это NGINX Unit, сервер приложений, а не веб-сервер. Минорщина. В основном багфиксы, в основном для Node.js. Плюс итоги года и благодарности и поздравление с наступающим НГ.

Здравствуйте.

Рад сообщить о выпуске новой версии NGINX Unit.

Это корректирующий выпуск, который нацелен на повышение стабильности Node.js модуля. Нам удалось добиться существенных результатов и теперь поддержка Node.js в лучшем состоянии.

*) Изменение: теперь rpath задается в модуле Ruby, только если библиотека
не найдена в путях по умолчанию; это позволяет соблюсти требования к
пакетированию в некоторых системах.

*) Исправление: не работали опции PHP «disable_functions» и
«disable_classes», заданные через управляющий API.

*) Исправление: не срабатывали Promises для данных из запросов в Node.js.

*) Исправление: различные проблемы совместимости с приложениями Node.js.

*) Исправление: в модуле Node.js происходила ошибка сегментации, если
приложение читало тело запроса после вызова request.end().

*) Исправление: в модуле Node.js происходила ошибка сегментации, если
приложение пыталось дважды отправить заголовок.

*) Исправление: при манипуляциях с полями заголовка ответа в модуле Node.js
не принималось во внимание, что регистр их имен не должен учитываться.

*) Исправление: неперехваченные исключения в Node.js не записывались в лог.

*) Исправление: глобальная установка модуля Node.js из исходников не
работала в некоторых окружениях; ошибка появилась в версии 1.6.

*) Исправление: обратная трассировка исключений при инициализации приложений
на Python не записывалась в лог.

*) Исправление: модуль PHP не собирался, если интерпретатор PHP был собран
с включенной потокобезопасностью.

Хайли лайкли, данный релиз станет последним в 2018 году.
И от всей нашей команды Unit-а я поздравляю вас с наступающим Новым Годом.

2018 год получился очень насыщенным с точки зрения развития проекта Unit.
Множество важных нововведений удалось реализовать, включая:

- Расширенное управление процессами, что позволяет динамически масштабировать
приложение в зависимости от нагрузки. Спасибо Максиму Романову, который
преимущественно работал над этой возможностью.

Документация: https://unit.nginx.org/configuration/#process-management

- Поддержка приложений на Perl, Ruby и Node.js. Спасибо Александру Борисову,
который занимался разработкой этих языковых модулей.

- TLS и интерфейс для управления хранилищем сертификатов, который позволяет
динамически загружать и перенастраивать сертификаты. Спасибо Игорю Сысоеву,
который работал вместе со мной над этой возможностью.

Документация: https://unit.nginx.org/configuration/#ssl-tls-and-certificates

- C API для языковых модулей был вынесен в отдельную библиотеку, что сильно
облегчило интеграцию с Node.js и помогло с предстоящим внедрением поддержки
Java приложений. Ещё раз спасибо Максиму Романову за эту работу.

- Начальная поддержка логирования доступа.

Документация: https://unit.nginx.org/configuration/#access-log

- Расширенные настройки приложений, включая переменные окружения, аргументы
запуска, опции PHP и путей к php.ini.

Не могу вообразить выпуск всей этой функциональности без кропотливой работы нашего инженера по качеству Андрея Зеленкова. Он беспрестанно повышал покрытие кода Unit-а функциональными тестами, проводил различное фаззинг-тестирование и оповещал разработчиков о любом подозрительном поведении сервера.

Также одним из ключевых достижений этого года стало существенное улучшение полноты и качества документации. Сайт unit.nginx.org теперь полностью актуализирован и содержит информацию обо всех появившихся возможностях, как в самых последних, так и во всех более ранних версиях Unit-а. С этой задачей успешно справился наш технический писатель Артем Конев.

Кроме того, он продолжает перерабатывать документацию и планирует серию Howto по настройке Unit-а в различных ситуациях и для запуска разных приложений. Если у вас есть пожелания по конкретным приложениям, которые вы хотели бы запускать в Unit-е, то, пожалуйста, создайте запрос по документации на GitHub:

- https://github.com/nginx/unit-docs/issues

Спасибо нашим системным инженерам: Андрею Белову и Константину Павлову, которые обеспечивали свежими пакетами репозитории для различных дистрибутивов и подготавливали образы для Docker-а.

Спасибо нашему продуктовому менеджеру Николаю Шадрину, который помогал со стратегией развития и блестяще выступал на конференциях по всему миру. Вы можете увидеть его в записи с недавней конференции NGINX Conf 2018, где он демонстрировал последние возможности Unit-а:

- https://www.youtube.com/watch?v=JQZKbIG3uro

Безусловно всё, что я упомянул, было бы невозможно без нашего замечательного сообщества пользователей. Они по достоинству оценили перспективы Unit-а и начали постепенно переносить на него свои проекты. Благодарю всех, кто сообщал о найденных ошибках и предлагал различные интересные идеи к реализации, оставлял ценные пожелания по дальнейшему развитию проекта, которые безусловно будут учтены по мере возможности. Мы приглашаем каждого принять участие через список рассылки:

- http://mailman.nginx.org/mailman/listinfo/unit

или в GitHub:

- https://github.com/nginx/unit

Особенно хочется отметить 洪志道 (Hong Zhi Dao), как одного из самых активных участников сообщества, который не только сообщает об ошибках, но и регулярно вычитывает код, задает наводящие вопросы и присылает различные патчи с улучшениями. Спасибо ему огромное за вклад в проект.

Отдельное спасибо ответственным за пакеты Unit-а в различных системах, среди которых: Сергей Осокин (FreeBSD), Ralph Seichter (Gentoo), André Klitzing (Alpine Linux) и Julian Brost (Arch Linux). Извините, если кто-то поддерживает репозиторий с пакетами Unit-а в одном из дистрибутивов и не был упомянут. Вы можете открыть запрос на GitHub для внесения вашего репозитория в секцию Installation сайта unit.nginx.org:

- https://github.com/nginx/unit-docs/issues

К сожалению, нам не удалось достигнуть всех наших грандиозных целей на этот год. Разработку некоторой функциональности пришлось перенести на будущий год.

Сейчас продолжается работа над поддержкой WebSocket, модулем Java, маршрутизацией запросов и раздачей статики.

Мы уже достигли неплохого прогресса в поддержке Java. Эта разработка ведется в отдельном публичном репозитории на GitHub:

- https://github.com/mar0x/unit

Таким образом, если вы заинтересованы в запуске приложений на Java, то уже можете принять участие и пробовать.

Множество других интересных возможностей и анонсов ждет Unit в 2019 году. Спасибо всем, кто следит за проектом, и желаю всего наилучшего.

--
Валентин Бартенев

★★★★★
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.