前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenNJet:新一代的云原生应用引擎

OpenNJet:新一代的云原生应用引擎

作者头像
知识浅谈
发布2024-05-25 08:40:10
520
发布2024-05-25 08:40:10
举报
文章被收录于专栏:分享学习分享学习

🤞OpenNJet:新一代的云原生应用引擎🤞

在这里插入图片描述
在这里插入图片描述

🎈OpenNJet是什么

OpenNJet是基于开源NGINX进行了功能定制的解决方案,继承 nginx-1.23.1 所有功能, 并且100%兼容nginx,经过内核重构、安全加固和功能增强的开发,具有性能无损动态配置、灵活的CoPilot框架、支持HTTP/3、支持国密、企业级应用、是一款高效安全的框架,其旨在满足云原生环境和国内特定技术规范及标准的需求,以构建安全可控的云原生数据平台,支持我国云原生产业生态的发展。

🎈OpenNJet的特性和架构

高性能:NJet性能是CNCF推荐Envoy的三倍。 ✨功能多:故障注入、遥测、配置动态加载、服务发现等功能,支持HTTP/3服务器功能和FTP协议代理能力。利用底层的动态TCP流量劫持,OpenNJet实现了PASV FTP/SFTP支持,可以动态在代理部署的机器上开启或关闭FTP数据传输端口,从而在保证安全性的前提下实现灵活的负载均衡。 ✨强安全:集成Web应用防火墙、原生支持国密/ RSA加密解密算法。 ✨可扩展:强大的插件框架能力支持第三方应用开发。 ✨可编程:支持LUA、Python可编程控制脚本,OpenNJet 架构设计已经考虑了动态配置的问题,Lua 脚本内容的修改上,使用架构提供的能力,在兼顾性能的情况下,实现了无需重启或重加载,实时更新Lua脚本的功能。 ✨易管理:提供完善的API接口,内置多主集群和高可用性能力

在这里插入图片描述
在这里插入图片描述

🎈OpenNJet使用教程

本次教程采用一个最简单的使用方式来进行测试,提现NJet完美替代了Nginx的功能,并在原有功能上增强拓展其他功能,具有Copilot框架和动态配置框架,支持KV模块、doc模块、黑白名单、vts模块等功能。

🎈OpenNJet安装

CentOS7环境为例

  • 从 gitee https://gitee.com/njet-rd/njet/releases上下载对应操作系统的rpm 格式安装包
在这里插入图片描述
在这里插入图片描述
  • 使用 yum 进行安装 例如下载的安装包是njet-2.1.0-1.el7.x86_64.rpm yum install njet-2.1.0-1.el7.x86_64.rpm
在这里插入图片描述
在这里插入图片描述
  • 安装后,使用命令 systemctl start njet 启动服务
在这里插入图片描述
在这里插入图片描述
  • 使用命令 systemctl stop njet 停止服务

🎈OpenNJet配置

以下是一个简单的 OpenNJet 配置文件示例,它将所有请求重定向到一个 HTML 文件。你可以通过修改 njet.conf 文件来配置 OpenNJet。 1.systemctl stop njet 先停止服务 2.编辑/usr/local/njet/conf/njet.conf vi /usr/local/njet/conf/njet.conf

代码语言:javascript
复制
worker_processes auto;

cluster_name njet;
node_name node1;

error_log logs/error.log error;

helper ctrl modules/njt_helper_ctrl_module.so conf/njet_ctrl.conf;
helper broker modules/njt_helper_broker_module.so;
#helper ha modules/njt_helper_ha_module.so conf/vrrp.conf;

load_module modules/njt_http_split_clients_2_module.so;  
load_module modules/njt_agent_dynlog_module.so;  
load_module modules/njt_http_dyn_bwlist_module.so; 
load_module modules/njt_dyn_ssl_module.so;
load_module modules/njt_http_vtsc_module.so;
load_module modules/njt_http_location_module.so;
#load_module modules/njt_http_lua_module.so;
#load_module modules/njt_http_modsecurity_module.so;
#load_module modules/njt_http_dyn_modsecurity_module.so;

events {
    worker_connections  1024;
}
http {
    server {
       listen 80;
       server_name example.com;
       location / {
           root /var/www/html;
           index index.html;
       }
    }
}

上述配置中,我们在 HTTP 块中定义了一个名为“server”的服务器块。该服务器块监听 80 端口,并将请求的根目录设置为/var/www/html。如果请求的路径不存在,默认会返 回 index.html 文件。

🎈部署 Web 应用程序

本次测试采用手动创建html文件

代码语言:javascript
复制
mkdir /var/www/html
cd /var/www/html
vi index.html
添加内容如下
<html>
    <head>cheshi</head>
    <body>cheshi</body>
</html>

🎈启动 NJet并访问

systemctl start njet 启动服务 现在,可以使用 Web 浏览器访问 Web 应用程序。只需输入服务器的 IP 地址或域名即 可访问 Web 应用程序。如果您按照上述示例配置 OpenNJet,则应将 Web 应用程序放置在 /var/www/html 目录中,并使用服务器的 IP 地址或域名访问它。

在这里插入图片描述
在这里插入图片描述

总之,上述步骤为您提供了一个基本的示例,您可以根据需要进行修改和定制。在实际部署 Web 应用程序时,可能需要更复杂的OpenNJet 配置,例如反向代理、负载平衡等。

🍚OpenNJet使用总结

个人感受:通过本次学习和上手NJet的使用,了解到NJet拥有多项强大功能,包括动态配置加载、主动式健康检查、集群高可用性以及声明式API等,还是一个具备高性能、稳定性和易扩展性的解决方案,同时它还解决了NGINX长期以来存在的动态配置和管理功能对业务造成的不利影响。 体验推荐:针对Nginx无法解决的问题,NJet助力有效解决,探索未来的Web服务器体验!OpenNJet,为您带来高性能、稳定可靠的服务,并通过动态配置加载、主动健康检测和声明式API等功能,助您构建灵活、高效的Web应用集群

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🎈OpenNJet是什么
  • 🎈OpenNJet的特性和架构
  • 🎈OpenNJet使用教程
  • 🎈OpenNJet安装
  • 🎈OpenNJet配置
  • 🎈部署 Web 应用程序
  • 🎈启动 NJet并访问
  • 🍚OpenNJet使用总结
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档