如何用OpenNJet部署自己的应用程序?——OpenNJet实践记录

OpenNJet 应用引擎是基于 NGINX 的面向互联网和云原生应用提供的运行时组态服务程序,其在云原生架构中作为数据平面,除了提供南北向通信网关的功能以外,还提供了服务网格中东西向通信能力,本篇文章将从零开始使用OpenNJet部署自己的应用程序。

一、下载安装OpenNJet

OpenNJet 提供了二进制RPM 包和 DEB 安装方法 首先在终端输入lsb_release -a命令,查看本机架构环境:

然后进入njet.org.cn/docs/quicks...

将对应的rpm包或者deb安装好后,使用yum或者dpkg方法安装,由于本机是CentOS系统,故在终端输入yum localinstall njet-2.0.1-1.el7.x86_64.rpm进行安装:

使用 rpm 或 deb 二进制安装后,会在 /usr/lib/systemd/system/ 目录下添加 service文件,并提示Complete!表明成功。

安装成功后,就可以使用 sudo systemctl start njet 启动服务,以 root 权限执行 systemctl 工具,然后可以通过浏览器或命令curl http localhost:8080/访问访问部署机器的8080地址,显示If you see this page, web platform is successfully installed andworking. Further configuration is required.或者输出以下html内容说明OpenNJet安装成功!

二、配置与部署应用程序

下面使用OpenNJet 来配置一个简单的 HTTP 服务器,并搭建自己的应用程序上去。

首先,我们将开发好的应用程序进行打包,这里我打包了一个之前开发的Vue项目,直接在终端输入npm run build或者vite build进行打包就可以,不同项目的打包指令和流程可能不相同,需要查看package.json的具体配置。

打包完成后,会生成一个dist文件夹,就是成功打包。

然后将打包好的dist文件夹整个上传到/home/www/html中:

上传完成后,下面对OpenNJet进行配置,首先新建一个conf文件夹专门存放OpenNJet配置文件,在文件夹中新建一个njet.conf:

并将以下基本配置写入njet.conf文件中:

ini 复制代码
http {
    server {
       listen 80;
       server_name example.com;
       location / {
           root /home/www/html/dist;
           index index.html;
       } 
    }
}

其中,

  • http 用于定义 HTTP 服务器的配置,server用于定义一个虚拟主机。
  • listen 80; 指定该服务器监听 80 端口,即 HTTP 默认端口。
  • location / { ... } 定义了请求的路径,这里是根路径 /,也就是所有请求的入口点。location 块内部定义了如何处理该路径的请求。
  • root /var/www/html; 指定了请求的根目录为 /home/www/html/dist,也就是之前放dist文件夹的地方。(也可以修改,可以将打包好的应用程序放在服务器上的任何位置,只要正确设置 root 目录即可。)
  • index index.html; 指定了当请求的路径指向一个目录时,服务器应该返回的默认文件为 index.html

最后,在终端输入以下命令启动 OpenNJet:、

bash 复制代码
njet -p /media/ -c conf/njet.conf 

其中,/media/表示之前存放njet.conf 配置文件路径,conf/njet.conf 指定配置文件,然后就可以使用 Web 浏览器访问 Web 应用程序了。输入服务器的IP地址或域名即可访问Web应用程序:

此外,还可以根据需要进行修改和定制,比如在实际部署 Web 应用程序时,使用 OpenNJet 进行动态配置在不中断服务的情况下实时更改 Web 服务器配置,从而快速响应流量需求的变化,或者使用 OpenNJet的负载平衡来分配服务器之间的负载,确保请求被有效地分配到可用的服务器上等等,后续有机会展开。

三、OpenNjet使用感受

总得来讲,OpenNJet给我留下了不错的体验感受。首先OpenNJet通过动态配置能力解决了性能无损动态配置的问题,能够无需重新启动服务器,快速响应流量需求变化;其次,OpenNJet的CoPilot框架不仅实现了高性能的数据处理能力,还提供了方便扩展的管理接口,如指标输出、健康检查、管理界面、配置同步等,使得监控、配置和管理系统的各个方面变得更加灵活和动态;另外,OpenNJet采用全新的底层传输协议QUIC,提供了更快、更可靠和更安全的Web浏览体验。最后,作为一个企业级应用,OpenNJet提供了集群状态同步、集群配额控制、高可用性和运维文档一体化功能。这些功能可以帮助企业更好地实现自动化部署、持续集成和持续交付等DevOps实践。

总的来说,OpenNJet可以应对大规模集群和高可用性要求时的安全性、可用性和管理效率,从而帮助企业保护数据、提供可靠的服务,并简化运维任务。

相关推荐
AKAMAI2 小时前
跳过复杂环节:Akamai应用平台让Kubernetes生产就绪——现已正式发布
人工智能·云原生·云计算
阿里云云原生8 小时前
不重启、不重写、不停机:SLS 软删除如何实现真正的“无感数据急救”?
云原生
Serverless社区1 天前
函数计算的云上计费演进:从请求驱动到价值驱动,助力企业走向 AI 时代
阿里云·云原生·serverless
光影少年2 天前
webpack打包优化
webpack·掘金·金石计划·前端工程化
阿里云云原生2 天前
【云栖大会】AI原生、AI可观测、AI Serverless、AI中间件,4场论坛20+议题公布!
云原生
容器魔方2 天前
Bloomberg 正式加入 Karmada 用户组!
云原生·容器·云计算
光影少年3 天前
Typescript工具类型
前端·typescript·掘金·金石计划
Nazi63 天前
k8s的dashboard
云原生·容器·kubernetes
是小崔啊3 天前
叩丁狼K8s - 概念篇
云原生·容器·kubernetes
AKAMAI3 天前
Sport Network 凭借 Akamai 实现卓越成就
人工智能·云原生·云计算