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/


相關推薦

2022-06-06

可为您的服务网格奠定坚实的基础。 Nginx Unit 1.27.0 正式发布,更新内容如下: 将 HTTP 请求重定向到 HTTPS 自从在 Unit 中加入了 TLS 支持和证书管理,就被要求简化将纯文本 HTTP 请求重定向到启用 TLS 的监听器。现在可以通过配置

2023-09-03

可为您的服务网格奠定坚实的基础。 Nginx Unit 1.31.0 正式发布,这是继 5 月份发布 1.30 之后的又一个重要里程碑。此版本中引入 Unit WebAssembly (WASM) 功能,代表了 Unit 功能的重大飞跃。 还带来了显着的新增功能 - 能够发送 response

2022-09-15

Nginx Unit 1.28.0 已正式发布,新版本在可观测性方面进入了一个里程碑: 新版本支持获取有关连接、请求和其他每个应用程序指标的基本信息 上述数据可通过 Nginx Unit 的 RESTful API 获取 除此之外,Nginx Unit 1.28.0

2022-01-21

使用 NGINX 之后,Igor 于 2004 年 10 月 4 日正式对外公开发布 NGINX,并将其开源。 此后长达 7 年的时间里,他独自一人负责 NGINX 的开发和维护工作。在此期间,他编写了数十万行代码,NGINX 提供的功能也不再是仅包含 Web 服

2022-11-04

OceanBase v4.0.0_CE 已经发布,企业级开源分布式数据库 此版本更新内容包括: OceanBase 数据库社区版 V4.0.0.0_CE OceanBase 社区发布 V4.0.0 版本是对分布式数据库系统架构设计的全面升级,定位为 Beta 测试版本,社区会关注用户使用反

2023-01-03

Zigbee2MQTT 1.29.0 版本已发布,Zigbee2MQTT 是一个将 Zigbee 协议转化成 MQTT 的桥接工具,允许通过 MQTT 协议控制 Zigbee 设备。 此版本带来如下更新项: 功能 #10003 允许暂时“禁用”设备(disabled选项) 改进 #14136 支持前端服务

2022-10-21

今日,我们发布了针对 NGINX Plus、NGINX 开源版、NGINX 企阅版以及 NGINX Ingress Controller 的更新,以应对最近在 NGINX 模块 ngx_http_mp4_module 及 ngx_http_hls_module 中发现的漏洞——这两个模块用于以

2023-08-04

大的变化和修改,代码进行了重构。MySQL 8.0 在 2016-09-12 发布, 重写了 5.7 中解析器的近 50% 的代码。MySQL 将编程语言都统一到 C++,编译器使用最新版本,代码风格采用 Google C++ Style,统一了 300 人的开发团队的代码标准。 目前 M

2023-05-25

展,以满足不同的需求。 近日 nginx 1.25.0 主线版正式发布,该版本有且仅有一项更新内容: 实验性的 HTTP/3 支持 除此之外,真的没有其他任何更新内容了。 更多详情可查看:https://nginx.org/en/CHANGES

2023-04-11

njs 0.7.12 已发布。njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更小、

2023-02-09

njs 0.7.10 已发布。njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更小、

2023-03-12

njs 0.7.11 已发布。njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更小、

2023-09-15

njs 0.8.1 已发布。此版本新增js_periodic指令、为共享词典引入items()方法。 njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较

2022-07-21

njs 0.7.6 已发布,njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更小、