Здравствуйте. Рад сообщить о выпуске новой версии NGINX Unit.
Это корректирующий выпуск, который нацелен на повышение стабильности Node.js модуля. Нам удалось добиться существенных результатов и теперь поддержка Node.js в лучшем состоянии. Изменения в Unit 1.7 20.12.2018 *) Изменение: теперь 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 году. Спасибо всем, кто следит за проектом, и желаю всего наилучшего. -- Валентин Бартенев _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru