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.mzph.cn/diannao/12835.shtml

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

相关文章

掏心经验分享,软考中项0基础入门篇!

想备考下半年中项(系统集成项目管理工程师)的朋友,不知道如何了解软考中项,今天给大家整理一篇关于我自己在备考软考时的一些考量和踩过的一些坑。(无广,放心看) 很多小伙伴总是听大家说软考中…

NGM-SLAM:首创融合神经辐射场子图的3DGS-SLAM,问鼎SOTA!

论文标题: NGM-SLAM: Gaussian Splatting SLAM with Radiance Field Submap 论文作者: Mingrui Li, Jingwei Huang, Lei Sun Aaron, Xuxiang Tian, Tianchen Deng, Hongyu Wang 导读: 3DGS技术因其性能卓越而备受关注,3DGS-SLA…

uniapp微信小程序通过萤石云接入海康摄像机

需求:在uniapp微信小程序上查看海康威视的摄像机监控视频和和操作摄像机拍摄方向 在萤石云接入海康摄像机设备,由于不同品牌设备在不同时间段接入方式可能不一致,具体接入方式查看官方文档或咨询官方客服。 海康摄像机官方客服热线&#xf…

stack、queue、priority_queue以及仿函数

我们上次对std中的list进行实现,今天我们要实现stack、queue、priority_queue以及仿函数。 目录 stack堆堆的框架构造函数push插入pop删除size()大小empty()判断空top()取栈顶的元素 queue队列队列框架问题: 这里我们为什么用deque? 插入删除取头数据取…

AI交互数字人赋能农业数字化、智能化推广营销

2024陵水荔枝文化节上“数字新农人”陵小荔身着黎族服饰、佩戴银器亮相开幕式现场,AI交互数字人生动地以互动式推介和歌舞等形式,带领宾客们了解陵水荔枝的发展历程、产业布局、未来愿景等。如今,越来越多农产品品牌通过3D虚拟数字人定制&…

最详细的提单知识总结 | 数字贸易综合服务平台 | 箱讯科技

在外贸交易中,国际物流是必不可少的一个步骤。国际物流掌控好,就等于把货物牢牢握在手心,不怕货财两空。 本期将向大家介绍正本提单、电放提单、海运单三种国际海运放货方式以及区分它们的方法。 超实用!外贸人赶紧收藏~ 正本提…

CTF例题:[SWPU2019]Web1(无列名注入)

网址:BUUCTF在线评测 搜索web1 启动靶机 点击链接进入题目 进入题目后发现有登录和注册接口,直接注册登录。 首先通过1进行测试,查看是否有注入点 出现报错,说明可能存在注入点 然后继续测试发现该服务器过滤了: or、…

vue(九) 生命周期 v3.0和v2.0对比,父子组件生命周期的执行顺序

文章目录 生命周期vue2.0生命周期1.图示2.生命周期解释说明3.代码示例 vue3.0生命周期1.图示2.生命周期解释说明3.代码示例 父子组件中生命周期执行顺序v.3和v2.0生命周期对比 生命周期 每个 Vue 组件实例在创建时都需要经历一系列的初始化步骤,比如设置好数据侦听…

怎么做私域?先来了解私域运营模式!

现在,很多企业都在做私域,但仍旧有很多人会问:我的私域到底要怎么做? 关于这个问题,不同产品无论在消费频次与客单价上,还是在决策链路的长度和复杂度上,都有巨大的差异,消费者需要…

如何使用AspectJ做切面,打印jar包中方法的执行日记

最近在工作中遇到一个redis缓存中的hash key莫名其妙被删除的问题,我们用了J2Cache,二级缓存用的是redis。hash key莫名其妙被删除又没有日志,就想到做一个切面在调用redis删除hash key的方法的时候,打印日志,并且把调…

高德、百度开车导航APP是怎么知道红绿灯倒计时的?

高德、百度开车导航APP之所以能够知道红绿灯的倒计时,这背后是一系列复杂的科技手段和数据分析的综合运用。从交管部门提供的数据,到导航软件自身通过大数据和算法进行的计算,每一个环节都为红绿灯倒计时的准确呈现提供了支撑。 首先&#xf…

白酒:低酒精度白酒的消费特点与市场前景

低酒精度白酒的消费特点与市场前景是酒类市场的一个重要话题。随着品质意识的提高和消费者口味的多样化,低酒精度白酒逐渐受到越来越多的关注。云仓酒庄豪迈白酒作为白酒的品牌之一,其消费特点和市场前景值得深入探讨。 首先,从消费特点来看…

基于YOLOv5的道路裂缝检测,加入一种基于内容引导注意力(CGA)的混合融合提升2个多点

💡💡💡本文主要内容:详细介绍道路裂缝检测整个过程,从数据集到训练模型到结果可视化分析。 💡💡💡通过加入一种基于内容引导注意力(CGA)的混合融合提升检测性能, 特征融合创新 | 一…

WS2812C是一款将控制电路和RGB芯片集成在一个5050元器件封装中的智能控制LED光源

一般说明 WS2812C是一款将控制电路和RGB芯片集成在一个5050元器件封装中的智能控制LED光源。内部包括智能数字端口数据锁存器和信号整形放大驱动电路。还包括一个精密的内部振荡器和一个 12V电压可编程恒流控制部分,有效保证像素点光源颜色高度一致。 …

决策规划仿真平台的搭建

以下内容笔记据来自于b站up主忠厚老实的老王,视频;链接如下: 自动驾驶决策规划算法第二章第一节 决策规划仿真平台搭建_哔哩哔哩_bilibili 使用到的软件有matlab、prescan、carsim以及visual stadio。 我电脑上软件的版本是matlab2022a&am…

2024.1IDEA 到2026年

链接:https://pan.baidu.com/s/1hjJEV5A5k1Z9JbPyBXywSw?pwd9g4i 提取码:9g4i解压之后,按照 操作说明.txt 操作; IntelliJ IDEA 2024.1 (Ultimate Edition) Build #IU-241.14494.240, built on March 28, 2024 Licensed to gurgles tumbles You have…

Python代码:二、多行输出

1、题目 将字符串 Hello World! 存储到变量str1中,再将字符串 Hello Nowcoder! 存储到变量str2中,再使用print语句将其打印出来(一行一个变量)。 2、代码 import sys str1 Hello World! str2 Hello Nowcoder! print (str1,st…

详细分清Session,Cookie和Token之间的区别,以及JWT是什么东西

Cookie Cookie是一种小型的文本文件,由网站在用户访问时存储在其计算机或移动设备上,Cookie主要用于跟踪、识别和存储有关用户的信息。 简单来说Cookie就是用来存储某些后端发送给前端的数据,例如我们登陆后,后端会返回一个登录…

C++ requires关键字简介

requires 是 C20 中引入的一个新关键字,用于在函数模板或类模板中声明所需的一组语义要求,它可以用来限制模板参数,类似于 typename 和 class 关键字。 requires关键字常与type_traits头文件下类型检查函数匹配使用,当requires后…

激光雷达技术:科技之眼,照亮前行

在科技与人文关怀的交响乐章中,一项名为“蝙蝠避障”使用了激光雷达技术原理及应用的创新成果,正悄然改变着视障朋友们的生活方式,为他们的日常出行铺设了一条充满希望的光明之路。今天,让我们一起深入探讨这项技术如何成为盲人出…