一、什么是OpenNJet
OpenNJet是一款开放原子开源基金会孵化及运营的开源项目。OpenNJet采用C语言实现。是一款高性能、轻量级的WEB应用及代理软件。
OpenNJet 应用引擎是高性能、轻量级的WEB应用与代理软件。作为云原生服务网格的数据平面,NJet具备动态配置加载、主动式健康检测、集群高可用、声明式API等多种强大功能。通过CoPliot副驾驶服务框架,在隔离控制面和数据面的情况下实现了高可扩展性。NJet应用引擎助力企业实现云原生技术的平滑升级并大幅降低IT运营成本。
二、OpenNJet下载、安装和启动
官网: https://njet.org.cn/
环境准备: 本次博主采用一台阿里云服务器,系统版本ubuntu18.04
注:使用自己PC电脑亦可,只要是linux系统
2.1 下载OpenNJet
按照自己的系统选择对应的版本下载。
我下载的是 njet_2.0.1-1~ubuntu.18.04~bionic_amd64.deb
2.2 安装OpenNJet
如果使用的是ubuntu系统,下载二进制安装包后可以使用以下命令进行安装
sudo dpkg -i njet_2.0.1-1~ubuntu.18.04~bionic_amd64.deb
如下图所示:
2.3 启动OpenNJet
使用二进制包安装OpenNJet后,OpenNJet就会在系统目录/usr/local/njet下生成自己的service,因此,可以使用systemctrl命令控制OpenNJet的启动和停止。
启动OpenNJet服务:
sudo systemctl start njet
停止OpenNJet服务:
sudo systemctl stop njet
查看OpenNJet服务的状态:
systemctl status njet.service
2.4 检验OpenNJet是否已经安装成功
个人PC: 直接打开电脑浏览器,在地址栏输入http://localhost:8080/
服务器: 直接打开电脑浏览器,在地址栏输入http://yourServerIP:8080/
如果浏览器跳转以下界面:
则说明OpenNJet已经安装成功并开始工作。
三、通过 OpenNJet 部署 WEB SERVER
在上文中我们已经成功安装OpenNJet ,下面我们将使用OpenNJet部署WEB SERVER。在这次实践中博主将把之前发布过的一篇酷炫烟花秀网站部署到线上,来帮助大家熟悉OpenNJet 的基本操作。
3.1 修改OpenNJet 配置文件
OpenNJet 的主要配置文件为 njet.conf。可以通过修改该文件来配置 OpenNJet。
njet.conf配置文件所在位置为/usr/local/njet/conf目录,先将安装OpenNJet后自动生成的配置文件删除,我们重头开始编写一个简单的配置文件如下:
http {
server {
listen 80;
server_name example.com;
location / {
root /web/www/html;
index index.html;
}
}
}
各个配置项的作用:
- http: 服务块名
- listen 80: 表示监听80端口
- root /web/www/html : 指定了服务器的根目录,所有请求的文件将从该目录下查找。
- index:表示默认页面为index.html,即直接使用IP地址访问时,会默认进入index.html
3.2 将Web程序放置在 /web/www/html之中
在这次实践中,采用博主之前写过的一篇文章中的代码,来展示使用OpenNJet 部署线上网站的方式。
因此,现在需要做的就是将烟花的代码,上传到服务器中。
我上传的路径为 /web/www/html
上传完成后,在/web/www/html路径下结构如下:
其中,fireworks是我们本次想要部署的web项目。
3.3 修改OpenNJet配置文件
上传完web项目后,如果想要输入IP地址就能直接访问到我们的web项目,就需要修改一下njet.conf中的配置信息。即将root配置项修改为/web/www/html/fireworks,即指定服务器根目录设置为/web/www/html/fireworks
新修改后的配置如下:
http {
server {
listen 80;
server_name example.com;
location / {
root /web/www/html/fireworks;
index index.html;
}
}
}
这样,当我们在浏览器地址栏直接输入IP地址进行访问,就会直接打开我们部署的web项目。
至此,使用OpenNJet部署一个WEB项目的实践就全部完成了,最后成功将一个炫酷的html web项目部署到了线上,并支持直接通过服务器IP地址进行访问。
四、结语
OpenNJet作为一款优秀的云原生应用引擎,具备轻量、快速开发、易于集成等优点,即减少了资源占用,部署简单,又能使应用在系统上流畅运行。此外,不仅100%兼容Nginx,还实现了NGINX 云原生功能增强、安全加固和代码重构,利用动态加载机制可以实现不同的产品形态,如Web服务器、流媒体服务器、负载均衡、代理(Proxy)、应用中间件、API网关、消息队列等产品形态等等。