
OpenNJet v4.0.1.0 正式上线,打造高效云原生应用引擎
本次版本更新涵盖多项功能优化与缺陷修复,具体如下:
功能改进
统一 modules 目录下各模块 config 文件的使用规范动态添加虚拟服务(VS)时,若涉及新增端口,可在 listen_option 中配置相关参数(当前暂不支持 QUIC 协议)重构 event 框架,提升消息处理性能改进 njetmq 模块的编译脚本将 proto_server 模块调整为动态加载模块
问题修复
修复 HTTP/Stream 模块中 round-robin 算法因 backup 节点导致 tried 数组越界的问题修复 HTTP/Stream 的 hash 和 random 负载均衡算法在遍历 peers 时存在的越界访问修复 Stream upstream zone 内存分配失败时 service 字段引发的内存泄漏移除 Goaccess 模块中的 njt_dynlog_parser.c 与 njt_dynlog_parser.h 文件解决 libtcc1.a 在跨平台复制过程中的路径错误清理冗余文件:Dockerfile.ubuntu、build_k8s.sh、njet_sidecar.conf修复 telemetry webserver 模块编译时出现的警告信息规范 njt_cycle->log 的调用方式,避免非标准使用修正编译脚本中存在的拼写错误修复 HTTP cache 模块存在的内存泄露问题解决 njetmq 在未订阅情况下 retain 消息导致的内存泄漏修复循环增删动态 location 时可能引起 broker 进程崩溃的问题修复健康检查前缀匹配逻辑误判问题修正健康检查代码中结构体长度使用错误导致的内存分配异常修复在 Kunpeng 920 CPU 上 rsync 模块无法正常加载的问题提升代码兼容性,解决不同 GCC 版本编译时的差异问题
已知待解决问题
TCP 流量劫持依赖 iptables nat 表 prerouting 链规则,仅对非本机 IP 的外部流量生效HA/MA 配置同步中,命令式 API 动态删除 location 的消息同步机制存在缺陷应用加速功能在删除 location 后,本地缓存文件未能及时清理配置沙箱进程在 NJet 可执行文件热升级期间,无法等待旧沙箱退出后再启动新实例动态创建 VS 时需至少存在一个静态 VS,否则将报错动态 VS 新增监听端口时,listen_option 不支持 quic 参数;UDP 需通过 addr_port 设置动态 VS 当前不支持 zone、location、ssl_ocsp、ssl_stapling、quic 等指令动态 VS 不支持创建新的 error_log 或 access_log 文件动态 location 不支持 zone 指令动态添加 SSL 证书必须预先配置初始证书,否则通过接口添加会失败显示 location 的 API 在配置 if 或 limit_except 时显示异常
安装方式说明
CentOS 发行版
安装步骤:
# 生成 njet.reposudo bash -c 'cat > /etc/yum.repos.d/njet.repo << EOF[njet]name=NJet Repositorybaseurl=https://njet.org.cn/download/linux/centos/$releasever/$basearch/gpgcheck=1enabled=1gpgkey=https://njet.org.cn/download/linux/centos/RPM-GPG-KEY-NJETEOF'升级操作:
注意:升级至 NJet 4.0.1.0 及以上版本时,默认保留 ctrl_kv.conf、goaccess.conf、njet.conf、njet_ctrl.conf 四个配置文件内容。但若从更早版本升级,请提前备份;html 目录所有版本均建议手动备份。
sudo cp -r /usr/local/njet/conf /usr/local/njet/conf_backupsudo cp -r /usr/local/njet/html /usr/local/njet/html_backupsudo yum update njet # 更新到最新版Ubuntu 发行版
安装流程:
# 添加 GPG 密钥sudo apt-get updatesudo apt-get install ca-certificates curl gnupgsudo install -m 0755 -d /etc/apt/keyringscurl -fsSL https://www.php.cn/link/d9f53a87e571214d24718690a39f67e9/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/njet.gpgsudo chmod a+r /etc/apt/keyrings/njet.gpg添加 APT 源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/njet.gpg] https://www.php.cn/link/d9f53a87e571214d24718690a39f67e9 $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/njet.list > /dev/null
sudo apt-get update
安装并启动服务
sudo apt-get install njetsudo systemctl start njet
升级步骤:
sudo cp -r /usr/local/njet/conf /usr/local/njet/conf_backupsudo cp -r /usr/local/njet/html /usr/local/njet/html_backupsudo apt-get updatesudo apt install --only-upgrade njet二进制包安装
RPM 包安装
# 安装yum localinstall ./njet-4.0.1.0-1.ky10.x86_64.rpmsystemctl start njetsystemctl stop njet升级
sudo cp -r /usr/local/njet/conf /usr/local/njet/conf_backupsudo cp -r /usr/local/njet/html /usr/local/njet/html_backupyum remove njetyum localinstall ./njet-4.0.1.0-1.ky10.x86_64.rpm
DEB 包安装
# 安装dpkg -i njet_4.0.1.0-1~ubuntu.18.04~bionic_amd64.debsystemctl start njetsystemctl stop njet升级
sudo cp -r /usr/local/njet/conf /usr/local/njet/conf_backupsudo cp -r /usr/local/njet/html /usr/local/njet/html_backupdpkg -i njet_4.0.1.0-1~ubuntu.18.04~bionic_amd64.deb
Docker 方式运行
彩葫芦
用AI生成故事漫画、科普绘本、小说插画,加入彩葫芦绘画社区,一起释放创造力!
111 查看详情
![]()
使用以下命令启动容器:
docker run -d --rm --privileged tmlake/njet:4.0.1.0详细使用说明请参考:https://www.php.cn/link/d15ff2db80a89807d24869fd9ffb1700
下载列表及安装包说明
otel 安装包:包含 OpenTelemetry 模块(按需选择对应系统安装)captcha 安装包:提供动态验证码功能模块(按需安装)
OpenNJet Ubuntu DEB 包基于 18.04 编译,兼容 Ubuntu 20.04 与 Ubuntu 22.04 系统。
各组件说明:
njet: 主程序安装包
.deb:适用于 Ubuntu 系统el7.x86_64.rpm:适用于 CentOS 系统.ky10.x86_64.rpm:适用于 x86_64 架构的 Kylin 麒麟系统.an8.loongarch64.rpm:适用于龙芯架构系统.ky10.aarch64.rpm:适用于基于 Kunpeng-920 的 ARM64 麒麟系统NJet-comm-modules: 社区扩展模块包
支持
.deb、el7.x86_64.rpm、.ky10.x86_64.rpm格式njet_python_wsgi: Python 脚本与 WSGI 应用支持模块
提供多平台版本(Ubuntu、CentOS、Kylin)
njet_otel: Telemetry 链路追踪模块
支持主流操作系统格式
njet_captcha: 访问频率控制模块
多系统适配安装包
portal_1.0.2_noarch.npk: Portal 应用管理模块(跨平台通用)
ssh_remote_mod.so: Portal 所需的 Lua 扩展模块(通用)
simulate-app_1.0.2.npk: NJet 模拟环境应用(通用包)
cert-manager: 基于 ACME 协议的自动证书管理工具
cert-manager-arm64:ARM64 架构cert-manager:x86-64 架构cert-manager-loongarch64:LoongArch 架构更多详情请访问:https://www.php.cn/link/64157a370a2257ee6c20f26f14ba3583
源码地址:点击下载
以上就是OpenNJet v4.0.1.0 已经发布,云原生应用引擎的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/768343.html
微信扫一扫
支付宝扫一扫