文章目錄
- 前言
- 一、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 來部署開發一些屬于自己的產品。