NGINX Unit 1.21.0 发布,动态 Web 应用服务器

NGINX Unit 1.21.0 已发布,更新内容除了常规的 bugfix 外,还增加了部分新特性,例如支持条件匹配的 PCRE 和多线程请求处理等。

因此,开发者现在可以调整每个应用程序进程中用于请求处理的线程数,这样能改善伸缩能力并优化内存使用率。另外,应用程序可以将多个进程和每个进程的多个线程结合使用,以实现真正的动态扩展。此功能可直接用于任何 Java、Python、Perl 或 Ruby 应用程序, 而无需更新其代码。

部分更新内容:

  • Change: 当使用"rootfs"隔离时,所有语言的 procfs 都会被默认挂载
  • Change: 现在支持在 HTTP header 名字中使用任何符合 RFC 7230 标准的有效字符
  • Change: 包含下划线 ("_") 的 HTTP header 字段现在会被默认从请求中丢弃
  • Feature: 为 Java、Python、Perl 和 Ruby 应用程序提供可选的多线程请求处理
  • Feature: 路由匹配模式中新增正则表达式支持
  • Feature: 兼容 Python 3.9
  • Feature: Python 模块支持 ASGI 2.0 遗留应用
  • Feature: Python 应用中的"protocol"选项有助于在 ASGI 和 WSGI 之间进行选择
  • Feature: PHP 函数 fastcgi_finish_request() 可以在不保持客户端连接的情况下完成请求处理并继续执行代码
  • Feature: HTTP 选项"discard_unsafe_fields"可以丢弃字段名中含有不规则字符(但仍然有效)的请求头字段
  • Feature: "procfs" 和 "tmpfs" 自动挂载隔离选项,可以禁用同名文件系统的自动挂载
  • Bugfix: 在高负载下运行 Go 应用时,路由器进程可能会崩溃;该 bug 曾在 1.19.0 中出现
  • Bugfix: 使用"rootfs"隔离后,一些语言依赖可能会保持挂载
  • Bugfix: Java 应用中的多项兼容性问题
  • Bugfix: 使用 musl C 库构建的 Java 模块无法运行使用"rootfs"隔离的应用程序

详情点此查看。

NGINX Unit 是用于各种 Web 应用程序的轻量动态开源服务器。NGINX Unit 从头开始构建,可以一次运行多种语言版本的 Web 应用程序,它也可以在运行时完全配置为零中断,从而可以对工程和操作进行实时粒度管理。

猜你喜欢

转载自www.oschina.net/news/121446/nginx-unit-1-21-0-released