OpenNJet产品体验:探索无限可能

文章目录

  • 前言
  • 一、OpenNJet是什么?
  • 二、OpenNJet特性和优点
  • 三、OpenNJet功能规划
  • 四、OpenNJet快速上手
  • 五、OpenNJet的使用总结


前言

现代社会网络高速发展,同时也迎来了互联网发展的高峰,OpenNJet作为一个基于NGINX的面向互联网和云原生应用提供的运用组态服务程序。它的功能非常强大,他能够实现不同的产品形态,如Web服务器、流媒体服务器等。
这篇文章我将带大家了解OpenNJet产品并且快速体验OpenNJet的使用。

OpenNJet官网:https://njet.org.cn/

一、OpenNJet是什么?

OpenNJet作为一款云原生引用引擎,主要服务于互联网行业,OpenNJet性能强大,实现了NGINX云原生功能增强、安全加固和代码重构,在当今对数据安全性较高的环境下,使用OpenNJet可以快速适应当代云环境和安全性的要求。

OpenNJet可以实现的产品形态:Web服务器、流媒体服务器、负载均衡、代理(Proxy)、应用中间件、API网关、消息队列等

OpenNJet专注于提供安全加固和代码重构功能,可以构建安全可控的云原生数据面,支撑了我国云原生产业生态,有了OpenNJet的加持,云原生生态将快速发展。

在这里插入图片描述

二、OpenNJet特性和优点

OpenNJet优点:
1.OpenNJet不仅性能强,而且在能耗方面也是非常低的,采用OpenNJet 2025年全年可以节约能耗: 1314亿元人民币
2.OpenNJet高效安全,现代发展数据无论是对于个人还是企业都是非常重要的,OpenNJet可以帮助企业更好的保护数据、提供可靠的服务等,让企业的数据更加安全可靠

为什么选择OpenNJet?
OpenNJet有如下六大优点:

在这里插入图片描述
产品架构图:

在这里插入图片描述
OpenNJet继承了NGINX-1.23.1所有功能,并且100%兼容NGINX。
从NGINX架构和OpenNJet的对比上面来看,OpenNJet增加了CoPilots的功能,并且可以动态的观察数据变化,同时还支持HTTP3模块,以及更加注重安全模块。
因为OpenNJet可以完成兼容NGINX,那么NGINX上开发的产品可以非常好的过渡到OpenNJet,兼容性是我们开发产品都值得关注的点。
NGINX性能非常高,但是他缺乏了动态配置的能力,这一点也是一直受到业界的诟病。OpenNJet在NGINX的架构上进行了扩充,解决了NGINX一直存在的这个问题。
OpenNJet动态配置框架:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、OpenNJet功能规划

OpenNJet的功能以组件的形式呈现:
分为三大组件:
监控组件:监控组件处于最上层的部分主要用于应用发布等场景。
核心工作组件:核心工作组件由基础模块、功能模块和引擎内核组成。
安全组件:OpenNJet将安全这块的功能特别拿出来作为一个单独的大组件,可见OpenNJet对安全性要求的严格。

在这里插入图片描述

四、OpenNJet快速上手

在官网上面我们可以查看到OpenNJet的安装方法和步骤:
https://github.com/OpenNJet/OpenNJet?tab=readme-ov-file
我的想法是,根据具体情况选择安装方式。如果对系统和软件的依赖关系不是很了解,或者希望快速部署软件,那么二进制安装或发行版安装可能是更好的选择。

那么我们在这里的话可以选择二进制安装:
选择二进制安装的方式会比较快捷并且会比较简单一些,不同的方式都可以完成安装,这个就看大家自己的熟悉程度了。

在这里插入图片描述
我们根据自己的环境选择对应的安装包进行下载:
现在的虚拟机种类都有非常多种,大家根据自己的情况来选择对应的虚拟机进行安装即可。
小伙伴们一定要看清楚不同的虚拟机版本哦,特别是Ubuntu的版本就有很多不同的。
我这里使用的是ubuntu20.04

在这里插入图片描述
下载完成后可以上传到自己的虚拟机下:
上传的方式最简单的就是ctrl + c,ctrl + v这个大家都懂的。

在这里插入图片描述
在这里插入图片描述
使用下面的命令进行安装:
下面就进入使用命令进行安装的步骤了,这个大家只需要将命令复制进去回车就行啦。

sudo dpkg -i njet_2.0.1-1~ubuntu.18.04~bionic_amd64.deb

在这里插入图片描述
安装完成后可以使用下面的命令启动服务:

systemctl start njet

在这里插入图片描述
可以使用curl localhost:8080/命令发送GET请求

在这里插入图片描述
使用下面的命令停止服务:

systemctl stop njet

使用ls /usr/local/njet/命令可以查看到njet的对应文件:

在这里插入图片描述
使用命令:ls /usr/lib/systemd/system/命令可以查看到service文件的内容:

在这里插入图片描述
至此OpenNJet就已经安装上了。
验证OpenNJet:
使用下面命令来验证OpenNJet的使用:

curl http localhost:8080/

在这里插入图片描述
在浏览器中输入http://localhost:8080/访问对应的地址网页:

在这里插入图片描述
OpenNJet基本使用命令:
显示帮助信息:
njet -h

常见启动参数:
-p 指定prefix配置文件路径,不指定,默认/etc/njet
-c 指定配置文件,不指定,默认njet.conf
-e 指定error 日志文件

显示配置信息是否正确:
njet -t
显示版本号:
njet -v
显示编译时的参数:
njet -V

OpenNJet具有动态配置的功能:
以下是他的框架:

在这里插入图片描述
在这里插入图片描述
同时OpenNJet还具有Sendmsg的功能
要开启该功能, 需在njet_ctrl.conf 的 main block 中加载该模块:
load_module /home/njet/modules/njt_http_sendmsg_module.so;
并在 http block 下,指定该模块的配置文件:

  http {      
	dyn_sendmsg_conf conf/iot_ctrl.conf;                        
	server 
	{         ...         location /kv {             				dyn_sendmsg_kv;         }         ...     
	}  
	}

OpenNJet目录结构及功能说明
OpenNJet将不同功能模块分开管理,使得代码结构清晰、易于维护。

在这里插入图片描述

五、OpenNJet的使用总结

OpenNJet 是一种开源的高性能网络流量生成和分析工具,通常用于网络测试、性能评估和安全研究等领域。
对于新人来说参照官方给的开发文档可以快速上手OpenNJet
新手主要就是需要一些时间来熟悉OpenNJet的功能和参数设置,特别是对于网络流量生成和分析方面的概念和术语。
对于熟悉的老玩家来说会积极参与OpenNJet的开发和社区活动,贡献代码、提出建议或解答其他用户的问题。主要会利用OpenNJet 来部署开发一些属于自己的产品。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/627391.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C语言每日题解】三题:回文检查、刘备 关羽 张飞三人过年放鞭炮、犹太人死亡游戏(难度up,推荐⭐✨)

🥰欢迎关注 轻松拿捏C语言系列,来和 小哇 一起进步!✊ 🌈感谢大家的阅读、点赞、收藏和关注 🥰希望大家喜欢我本次的讲解 🌟非常推荐最后一道题 🌹 犹太人死亡游戏,建议观看 &…

20240514,算法(算数生成,集合)

还有一个大案例&#xff0c;那个就不急了&#xff0c;完结撒花&#xff0c;起码C是打代码没什么大问题的完结&#xff0c;不像C&#xff0c;还要我返工/笑哭 常用算数生成算法 属于小算法&#xff0c;头文件 #include <numeric> accumulate //计算容器累计总和fill /…

考研数学|李林《880》PK李永乐《660》,你用对了吗?

建议先在强化之前做660&#xff0c;然后在强化的时候再做880。 660整体难度属于基础阶段到强化阶段。而且是选填部分的题目&#xff0c;所以还是要做一些其他题 然后说一下推荐的习题册&#xff1a;基础不好先做1800、强化之前660&#xff0c;强化可选880/1000题。但是传统习题…

FPGA - Xilinx系列高速收发器---GTX

1&#xff0c;GTX是什么&#xff1f; GT &#xff1a;Gigabit Transceiver千兆比特收发器&#xff1b; GTX &#xff1a;Xilinx 7系列FPGA的高速串行收发器&#xff0c;硬核 xilinx的7系列FPGA根据不同的器件类型&#xff0c;集成了GTP、GTX、GTH、GTZ四种串行高速收发器&am…

Ansible自动化运维中的User用户管理模块应用详解

作者主页&#xff1a;点击&#xff01; Ansible专栏&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年5月14日14点12分 在Ansible中&#xff0c;user 模块主要用于管理系统用户账户。它可以创建、修改、删除用户&#xff0c;并管理用户的属性&#xff0c;比如密码、…

深⼊理解指针(5)

目录 1. 回调函数是什么&#xff1f;1.1 使用回调函数修改 2. qsort使⽤举例2.1 使⽤qsort函数排序整型数2.2 使⽤qsort排序结构数据按年龄排序2.3 使⽤qsort排序结构数据按名字排序2.4整体代码 3. qsort函数的模拟实现3.1 整型数组的实现3.2 结构体按名字排序实现3.3 结构体按…

Element Plus组件库使用组件自动导入后样式不生效的问题

首先按照官方文档上的介绍进行配置&#xff1a;快速开始 | Element Plus (element-plus.org) 配置完成后&#xff0c;去组件中去测试组件库中的button组件的样式是否生效 <template><el-button type"primary">Primary</el-button> </template&…

从源头到洞察:大数据时代的数据提取与分析实战指南

随着科技的飞速发展&#xff0c;大数据已经成为现代社会的核心驱动力之一。从商业决策到科学研究&#xff0c;从政策制定到个人生活&#xff0c;数据无处不在&#xff0c;影响着我们的每一个决策。然而&#xff0c;如何从海量的数据中提取有价值的信息&#xff0c;并转化为深刻…

一对一WebRTC视频通话系列(六)——部署到公网

本系列博客主要记录一对一WebRTC视频通话实现过程中的一些重点&#xff0c;代码全部进行了注释&#xff0c;便于理解WebRTC整体实现。 本专栏知识点是通过<零声教育>的音视频流媒体高级开发课程进行系统学习&#xff0c;梳理总结后写下文章&#xff0c;对音视频相关内容感…

Milvus 安装与配置

一、环境准备 在安装 Milvus 之前&#xff0c;确保你的系统满足以下要求&#xff1a; 操作系统&#xff1a;Milvus 支持 Linux 操作系统&#xff0c;如 Ubuntu、CentOS 等。硬件资源&#xff1a;推荐使用具有足够 CPU、内存和 SSD 存储的机器。对于大规模数据集&#xff0c;高…

环境光遮蔽技术在AI去衣应用中的创新探索

引言&#xff1a; 随着计算机视觉和人工智能技术的飞速发展&#xff0c;AI去衣技术逐渐走进公众视野。这一技术以其独特的应用前景和技术挑战引起了广泛的关注。在实现衣物去除的同时保持图像质量的关键技术之一&#xff0c;便是环境光遮蔽技术。本文将深入探讨环境光遮蔽技术在…

Python轻量级Web框架Flask(14)—— 自己做Flask项目总结

0、前言&#xff1a; 本文意在记录自己在做毕业Flask项目开发时遇到的一些问题&#xff0c;并将问题解决方案记录下来&#xff0c;可做日后查询本文也会记录自己做FLask项目时实现的一些功能&#xff0c;作为开发工作的进程记录注意&#xff1a;用Flask开发的前提是已经设计好…

【Git】Git学习-12:关联本地仓库和远程仓库

学习视频链接&#xff1a;【GeekHour】一小时Git教程_哔哩哔哩_bilibili​编辑https://www.bilibili.com/video/BV1HM411377j/?vd_source95dda35ac10d1ae6785cc7006f365780 在github上建立仓库 根据指引将本地仓库push到github上 git remote add origin gitgithub.com:JVZO/f…

开发业务当中的金额到底是用Long还是BigDecimal?

在网上一直流传着一个争论不休的话题&#xff1a;金额到底是用Long还是用BigDecimal&#xff1f;这个话题一出在哪都会引起异常无比激烈的讨论。。。。 比如说这个观点&#xff1a;算钱用BigDecimal是常识 有支持用Long的&#xff0c;将金额的单位设计为分&#xff0c;然后乘以…

AXI UART 16550 IP核简介

AXI UART 16550 IP核实现了PC16550D UART的硬件和软件功能&#xff0c;该UART可以在16450和16550 UART模式下工作。 一、 功能 AXI UART 16550 IP核执行从AXI主设备接收的字符的并行到串行转换&#xff0c;以及从调制解调器或串行外设接收的字符的串行到并行转换。它支持发送…

VMware虚拟机中ubuntu使用记录(8)—— 如何在Ubuntu18.04中安装运行非ROS版本的ORB_SLAM3跑官方数据集(全程手把手教学安装)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 ORB_SLAM3的介绍一、gitee下载ORB_SLAM3源码1. gitee导入gitHub仓库 二、安装支持C特性依赖三、安装Pangolin1. 安装Pangolin的依赖2. 下载编译 四、安装Eigen31.下…

C#委托以及在事件驱动编程中的使用

C#中的委托&#xff08;Delegate&#xff09;是一种类型&#xff0c;它可以存储对方法的引用&#xff0c;并且可以像其他类型一样传递给方法。委托提供了一种灵活的方式来实现事件处理、回调函数和多播委托等功能。以下是关于C#委托的详细介绍&#xff1a; 定义&#xff1a; …

IDEA运行main方法,为什么要编译整个工程?

每次在IDEA中导入工程后&#xff0c;想写一个类去测试一些数据&#xff0c;有时候只是写一个main方法进行简单的输出&#xff1b; 但是每次运行一个main方法&#xff0c;整个工程都会重新编译一下&#xff0c;耗时不短 在Eclipse就不会有这个问题&#xff1b; 为什么会编译整…

AXI GPIO IP核配置详解

AXI GPIO&#xff08;AXI General-Purpose Input/Output&#xff09;设计提供了一个通用的输入/输出接口&#xff0c;该接口连接到一个AXI4-Lite接口。AXI GPIO可以被配置为单通道或双通道设备&#xff0c;每个通道的位宽可以独立配置。 端口&#xff08;即GPIO引脚&#xff0…

linux系统介绍和安装教程(含安装链接放在最下面了)

一、linux系统简介 在Linux和C语言的发展历程中&#xff0c;有几位关键人物为它们的诞生和推广做出了重要贡献。 首先&#xff0c;肯汤姆森&#xff08;Ken Thompson&#xff09;是一位在AT&T公司工作的员工&#xff0c;他不仅发明了B语言&#xff0c;还创造了Unix系统。…