OpenNJet下载安装及入门实战教程

一、什么是OpenNJet

  OpenNJet是一款开放原子开源基金会孵化及运营的开源项目。OpenNJet采用C语言实现。是一款高性能、轻量级的WEB应用及代理软件。
   OpenNJet 应用引擎是高性能、轻量级的WEB应用与代理软件。作为云原生服务网格的数据平面,NJet具备动态配置加载、主动式健康检测、集群高可用、声明式API等多种强大功能。通过CoPliot副驾驶服务框架,在隔离控制面和数据面的情况下实现了高可扩展性。NJet应用引擎助力企业实现云原生技术的平滑升级并大幅降低IT运营成本。

在这里插入图片描述

二、OpenNJet下载、安装和启动

官网: https://njet.org.cn/
环境准备: 本次博主采用一台阿里云服务器,系统版本ubuntu18.04

在这里插入图片描述

注:使用自己PC电脑亦可,只要是linux系统

OpenNJet提供了多种快速使用的方法,包括 二进制安装,发行版安装以及源码安装
我们选择最简单的二进制安装方式。想要通过其他方式安装的同学,参考官方教程:https://njet.org.cn/docs/quickstart/

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;} }
}

各个配置项的作用:

  1. http: 服务块名
  2. listen 80: 表示监听80端口
  3. root /web/www/html : 指定了服务器的根目录,所有请求的文件将从该目录下查找。
  4. 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网关、消息队列等产品形态等等。

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

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

相关文章

python数据分析所需要的语法基础

Python语言基础——语法基础 前言语法基础变量标识符数据类型输入与输出代码缩进与注释 总结 前言 对于学过C语言的人来说,python其实很简单。学过一种语言,学习另一种语言,很显然的能感觉到,语言大体上都是相通的。当然&#xf…

企业微信hook接口协议,ipad协议http,客户群发送任务,获取要发送的客户群列表

客户群发送任务,获取要发送的客户群列表 参数名必选类型说明uuid是String每个实例的唯一标识,根据uuid操作具体企业微信 请求示例 {"uuid": "1688853790533324","id":1101292747044333637, //群发任务id"keyword…

3.栈和队列(汇总版)

目录 1.栈(一端插和删) 2.队列(一端插另一段删) 2.1队列的概念及结构 2.2 队列的实现 队列的接口 1.初始化队列 2.销毁队列 3.插入元素 4.出队列(头删) 5.访问对头 6.访问队尾 7.判断队列是否为…

CMakeLists.txt语法规则:foreach循环的关键字

一. 简介 前一篇文章学习了 CMakeLists.txt语法中 foreach循环的基本用法。文章如下: CMakeLists.txt语法规则:foreach 循环基本用法-CSDN博客 本文继续 CMakeLists.txt语法中 foreach循环语句,主要学习 foreach循环中的关键字。 二. CM…

Android 官网Ota介绍

构建 OTA 软件包 | Android 开源项目 | Android Open Source Project

(网络初识)

网络发展史 独立模式 在最开始计算机被发明出来,但网络还未普及的情况下,每个计算机之间都是相互独立的: 假设现在有一份数据需要处理,然后这份数据的处理又分给三个人分别处理。假设小松处理进行第一部分的处理,当小…

Skywalking的重要功能详解

学习本篇文章之前首先要了解一下Sky walking的基础知识 分布式链路追踪工具Sky walking详解 一&#xff0c;Sky walking监控数据库 在admin服务中&#xff0c;连接数据库查询user表中所有数据 引入依赖 <dependency><groupId>mysql</groupId><artifactI…

上位机图像处理和嵌入式模块部署(树莓派4b和qt应用全屏占有)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 我们都知道&#xff0c;嵌入式应用一般都是为了某一个特定应用而存在的。也就是说&#xff0c;和pc不同&#xff0c;这个嵌入式板子一般都是为了解…

多组间比较散点图+误差棒(自备)

目录 数据 计算四分位值 作图 数据 rm(list ls()) library(ggplot2) library(dplyr) library(ggpubr) library(reshape2) library(tidyverse)data <- iris##鸢尾花数据集 dat <- data[,c(5,1)]#单个数据进行分析 计算四分位值 #根据分组计算四分位及中位数 dat1 …

使用Docker安装Redis

大家好&#xff0c;今天给大家分享一下如何使用docker安装Redis&#xff0c;关于docker的安装和常用命令&#xff0c;大家可以参考下面两篇文章&#xff0c;本文中不做过多描述。 Docker在Windows与CentOS上的安装 Docker常用命令 关于Redis的介绍与常用操作可以参考&#x…

中国科技大航海时代,“掘金”一带一路

文&#xff5c;白 鸽 编&#xff5c;王一粟 “这不就是90年代的内地吗&#xff1f;” 在深度考察完沙特市场后&#xff0c;华盛集团联合创始人兼CEO张霆对镜相工作室感慨道。 在张霆看来&#xff0c;沙特落后的基建&#xff08;意味着大量创新空间&#xff09;、刚刚开放…

AHB---数据总线

1. 数据总线 为了实现AHB系统&#xff0c;需要独立的读写数据总线。虽然推荐的最小数据总线宽度被指定为32位&#xff0c;但这可以根据数据总线宽度进行更改。 数据总线包含以下部分&#xff1a; HWDATAHRDATAEndianness&#xff08;字节序&#xff09; 1.1 HWDATA 在写传输…

【革命启示录】Spring框架:Java开发的“核聚变”能量源!

Hello&#xff0c;我是阿佑&#xff0c;今天给大家整的活是 《Java开发的“核聚变”能量源》 文章目录 Spring框架原理详解一、引言简介目的特点例子 二、背景介绍问题解决方案例子 三、核心概念3.1 控制反转&#xff08;Inversion of Control, IoC&#xff09;定义实现例子与代…

Sarcasm detection论文解析 |基于情感背景和个人表达习惯的有效讽刺检测方法

论文地址 论文地址&#xff1a;https://link.springer.com/article/10.1007/s12559-021-09832-x#/ 论文首页 笔记框架 基于情感背景和个人表达习惯的有效讽刺检测方法 &#x1f4c5;出版年份:2022 &#x1f4d6;出版期刊:Cognitive Computation &#x1f4c8;影响因子:5.4 &…

【python】基础语法

目录 一.注释和常见规则 二.变量及类型 1.数据类型 2.Numbers数字数据类型 3. 字符串类型 &#xff08;1&#xff09;字符串访问 &#xff08;2&#xff09;字符串拼接 4.List&#xff08;列表&#xff09;类型 &#xff08;1&#xff09; 定义 &#xff08;2&#…

【Linux】yum

&#x1f389;博主首页&#xff1a; 有趣的中国人 &#x1f389;专栏首页&#xff1a; Linux &#x1f389;其它专栏&#xff1a; C初阶 | C进阶 | 初阶数据结构 觉得本片文章写的还不错的可以&#x1f44d;点赞&#x1f44d;、&#x1f31f;收藏&#x1f31f;、&#x1f4dd;…

Golang | Leetcode Golang题解之第71题简化路径

题目&#xff1a; 题解&#xff1a; func simplifyPath(path string) string {stack : []string{}for _, name : range strings.Split(path, "/") {if name ".." {if len(stack) > 0 {stack stack[:len(stack)-1]}} else if name ! "" &am…

在uniapp里面使用 mp-html 并且开启 latex 功能

在uniapp里面使用 mp-html 并且开启 latex 功能 默认情况下 mp-html 是不会开启 latex 功能的, 如果需要开启 latex 功能是需要到代码操作拉取代码自行打包的。 这里说一下 mp-html 里面的 latex 功能是由 https://github.com/rojer95/katex-mini 提供的技术实现&#xff0c;…

计算机系列之数据库技术

13、数据库技术&#xff08;重点、考点&#xff09; 1、三级模式-两级映像&#xff08;考点&#xff09; 内模式&#xff1a;管理如何存储物理的数据&#xff0c;对应具体物理存储文件。 **模式&#xff1a;**又称为概念模式&#xff0c;就是我们通常使用的基本表&#xff0c…

每日算法-java

题目来自蓝桥云 // 这是一个Java程序&#xff0c;用于解决最长不下降子序列问题。 // 问题描述&#xff1a;给定一个整数序列&#xff0c;找到最长的子序列&#xff0c;使得这个子序列是不下降的&#xff08;即相邻的元素不严格递减&#xff09;。 // 程序使用了动态规划的方法…