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

news2024/12/22 20:12:39

文章目录

  • 前言
  • 一、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.coloradmin.cn/o/1676924.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

爬虫入门经典(七) | 采集淘宝电场相关信息

大家好,我是不温卜火,昵称来源于成语—不温不火,本意是希望自己性情温和。 PS:由于现在越来越多的人未经本人同意直接爬取博主本人文章,博主在此特别声明:未经本人允许,禁止转载!&a…

string功能介绍(普及版)

目录 1。初始化(好几种方式),npos和string的使用说明 2。string的拷贝,隐式类型转换,[],size,iterator,begin,end,reverse,reverse_iterator&am…

【回溯】1240. 铺瓷砖

本文涉及知识点 回溯 LeetCode1240. 铺瓷砖 你是一位施工队的工长,根据设计师的要求准备为一套设计风格独特的房子进行室内装修。 房子的客厅大小为 n x m,为保持极简的风格,需要使用尽可能少的 正方形 瓷砖来铺盖地面。 假设正方形瓷砖的…

windows驱动开发-PCI和中断(二)

谈到中断使用PCI总线来作为例子是最合适的,在Windows发展过程中,PCI作为最成功的底层总线,集成了大量的外设,不夸张的说,目前PCI几乎是唯一的总线选择,故大部分情况下,只有PCI设备驱动程序会遇到…

前端 performance api使用 —— mark、measure计算vue3页面echarts渲染时间

文章目录 ⭐前言💖vue3系列文章 ⭐Performance api计算持续时间💖 mark用法💖 measure用法 ⭐计算echarts渲染的持续时间⭐结束 ⭐前言 大家好,我是yma16,本文分享关于 前端 performance api使用 —— mark、measure计…

java springboot连接sqlserver使用

pom.xml增加sqlserver驱动 <dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>mssql-jdbc</artifactId><version>9.4.0.jre8</version></dependency>application.yml配置文件 server:port: 9001 #spring: …

多格式兼容的在线原型查看:Axure RP的便捷解决方案

Axure rp不仅可以绘制详细的产品构思&#xff0c;还可以在浏览器中生成html页面&#xff0c;但需要安装插件才能打开。安装Axure后 rpchrome插件后&#xff0c;还需要在扩展程序中选择“允许访问文件网站”&#xff0c;否则无法在Axure中成功选择 rp在线查看原型。听起来很麻烦…

用友GRP-U8 userInfoWeb SQL注入致RCE漏洞复现 (XVE-2024-10539)

0x01 产品简介 用友GRP-U8R10行政事业内控管理软件是用友公司专注于国家电子政务事业,基于云计算技术所推出的新一代产品,是我国行政事业财务领域最专业的政府财务管理软件。 0x02 漏洞概述 用友GRP-U8R10行政事业内控管理软件 userInfoWeb接口处存在SQL注入漏洞,未授权的…

不懂数字后端Box List、Polygon的意思?

什么是BOX&#xff1f; 景芯SoC做design planning的第一步就是确定floorplan的box&#xff0c;也就是设计的区域。这个区域可以划分为三个边界&#xff0c;如下图所示&#xff1a; Die Box 最外面一圈&#xff0c;我们称为 Die Box&#xff0c;也就是用来放置 IO 单元&#x…

高中数学:平面向量-加减运算

一、向量的加法运算 三角形法则&#xff08;推荐&#xff09; 两个或多个向量收尾相连的加法运算&#xff0c;用三角形法则 简便算法 首尾相连的多个向量&#xff0c;去掉中间点&#xff0c;就是最终的和。 也可以用三角形法则证明 向量加法交换律 向量加法结合律 平行四…

pycharm如何有效读取到win10设置的环境变量

参考链接&#xff1a; 参考文章 该参考文章的第一种方法&#xff1a;设置win10环境变量。 在设置完环境变量后&#xff0c;在pycharm终端上不能有效读取到刚刚设置的环境变量的&#xff0c;需要启动win的cmd&#xff0c;在项目路径下执行脚本。如下所示的对比&#xff1a; cm…

C++基础与深度解析 | 语句 | 分支语句 | 循环语句 | 达夫设备

文章目录 一、语句基础二、分支语句1.分支语句--if2.分支语句--switch 三、循环语句1.循环语句--while2.循环语句--do-while3.循环语句--for4.循环语句--基于范围的for循环5.break / continue语句四、语句的综合应用--达夫设备 一、语句基础 语句的常见类别&#xff1a; 表达…

数据结构与算法学习笔记三---栈和队列

目录 前言 一、栈 1.栈的表示和实现 1.栈的顺序存储表示和实现 1.C语言实现 2.C实现 2.栈的链式存储表示和实现 1.C语言实现 2.C实现 2.栈的应用 1.数制转换 二、队列 1.栈队列的表示和实现 1.顺序队列的表示和实现 2.链队列的表示和实现 2.循环队列 前言 这篇文…

OpenAI推出旗舰AI模型GPT-4o并免费开放

&#x1f989; AI新闻 &#x1f680; OpenAI推出旗舰AI模型GPT-4o并免费开放 摘要&#xff1a; OpenAI 未来的产品将以免费为优先&#xff0c;以让更多人使用为目标。OpenAI 发布了桌面版本的程序和更新后的 UI&#xff0c;更加简单自然。推出了新一代大模型 GPT-4o&#xf…

C语言 | Leetcode C语言题解之第89题格雷编码

题目&#xff1a; 题解&#xff1a; int* grayCode(int n, int* returnSize) {int ret_size 1 << n;int *ret (int *)malloc(ret_size * sizeof(int));for (int i 0; i < ret_size; i) {ret[i] (i >> 1) ^ i;}*returnSize ret_size;return ret; }

生态系统类型分布数据、土地利用数据、植被类型分布、自然保护区分布数据

引言 全国自然保护区生态系统类型分布信息产品是指基于Landsat TM数字影像&#xff08;以地形图纠正&#xff09;&#xff0c;采用全数字化人机交互遥感快速提取方法&#xff0c;建立全国自然保护区生态系统结构数据集&#xff0c;同时做成多种尺度的栅格数据&#xff0c;其中包…

Python | Leetcode Python题解之第90题子集II

题目&#xff1a; 题解&#xff1a; class Solution:def subsetsWithDup(self, nums: List[int]) -> List[List[int]]:if not nums:return list()results list()nums.sort()visited [False] * len(nums)self.dfs(nums, results, list(), visited, 0)return resultsdef df…

2024 National Invitational of CCPC (Zhengzhou)(CCPC郑州邀请赛暨CCPC河南省赛)

2024 National Invitational of CCPC (Zhengzhou) 2024CCPC郑州邀请赛暨CCPC河南省赛 2024 National Invitational of CCPC (Zhengzhou) B. 扫雷 1 题意&#xff1a;扫n轮雷&#xff0c;每轮开始获得一枚扫雷币&#xff0c;可保存&#xff0c;从第一轮开始&#xff0c;可以…

如何管理多个版本的Node.js

我们如何在本地管理多个版本的Node.js&#xff0c;有没有那种不需要重新安装软件再修改配置文件和环境变量的方法&#xff1f;经过我的查找&#xff0c;还真有这种方式&#xff0c;那就是nvm&#xff08;Node Version Manager&#xff09;。 下面我就给大家介绍下NVM的使用 1…

MSR810-LM快速配置通过LTE模块上网

正文共&#xff1a;1111 字 13 图&#xff0c;预估阅读时间&#xff1a;1 分钟 之前买了一个无线版本的MSR810-W&#xff08;淘了一台二手的H3C企业路由器&#xff0c;就用它来打开网络世界的大门&#xff09;&#xff0c;并整理了一份快速配置&#xff08;脚本案例来了&#x…