NGINX Unit 1.29.0 发布

Nginx Unit 是一个动态应用服务器,能够与 Nginx Plus 和 Nginx 开源版并行或独立运行。Nginx Unit 支持 RESTful JSON API,可以在不中断服务的情况下更改配置,并可运行基于多种语言和架构的应用。Nginx Unit 生来就是为满足分布式应用的需求而设计的,可为您的服务网格奠定坚实的基础。

Nginx Unit 1.29.0 正式发布,更新内容如下:

NGINX JavaScript 集成

NGINX JavaScript(njs)是一个服务器端的 JavaScript 运行时,为超快的初始化进行了优化。njs 最初是为扩展 NGINX 而设计的,它的架构适合于集成,现在它也扩展了 Unit!

这个版本带来了 NGINX JavaScript 引擎与 Unit 的初步整合。未来的版本将扩展这些功能,以实现更复杂的使用。在 Unit 1.29.0 中,JavaScript 模板字符串可以在配置字符串中使用,以执行 JavaScript 表达式。

配置工具

这个版本引入了两个新的命令行工具来简化 Unit 的安装和配置。

  • setup-unit

setup-unit 工具可以在安装 Unit 之前自动配置软件库。它还通过配置和提供一个 "欢迎" 网页来验证一个新的安装。这为首次使用的用户消除了一些安装过程中的疑虑,并指导他们进行下一步的操作。现在在一个典型的 Linux 系统上安装和运行 Unit 就像这样简单。

wget [<https://unit.nginx.org/_downloads/setup-unit>](<https://unit.nginx.org/_downloads/setup-unit>) && chmod +x setup-unit
sudo ./setup-unit repo-config
sudo apt install unit | sudo | sudo yum install unit
sudo ./setup-unit welcome
  • unitc

unitc 工具提供了一个命令行接口,作为 curl(1) 的包装器,用于 Unit 实例的日常配置和管理。它的目的是最大限度地减少打字的工作量,并使用户免受奇特的 curl(1) 选项的影响。在大多数情况下,你只需在 Unit 的控制 API 中指定一个 URI,unitc 就会执行相应的 curl(1) 命令来读取或修改相应的配置部分。

每个应用的 Cgroups

当开发 Unit 1.28.0 时,我们的主要目标是扩展对任何种类的可观察性的支持。在 1.29.0 中,我们为这套系统增加了另一个重要的功能。

在 Unit 1.29.0 中,我们支持 cgroup V2 API,以提供将每个应用程序放入自己的 cgroup 或将多个应用程序放入一个 cgroup 的能力。下面的配置说明了新增加的配置语法。

"applications": {
    "cgroup-demo": {
        "type": "python",
        "path": "/path/to/app/dir",
        "module": "app",
        "isolation": {
            "cgroup": {
                "path": "unit/cgroup-demo"
            }
        }
    }
}

新的变量

在 1.29.0 版本中,我们还增加了一个新的变量: $request_time 记录了 Unit 处理请求的秒数。该计时器在请求到达 Unit 监听器时启动,在 Unit 向客户端发送响应时停止。这中间的一切,例如应用内处理时间、读取静态资产,都会增加到计时器中。

语言模块中的版本更新

  • Python 3.11
  • PHP 8.2
  • Node.js 19.0
  • Ruby 的 Rack 3 版
  • Java 19(由于 Ubuntu 22.10)

平台更新

  • 增加了对 Ubuntu 22.10 的支持
  • 增加了对 Fedora 37 的支持

更多详情可查看:https://unit.nginx.org/news/2022/unit-1.29.0-released/

猜你喜欢

转载自www.oschina.net/news/222035/nginx-unit-1-29-0-released