All in OpenNJet:OpenNJet 助力Web应用开发

前言

++OpenNJet++ 应用引擎是基于 NGINX 的面向互联网和云原生应用提供的运行时组态服务程序,作为底层引擎,++OpenNJet++实现了NGINX 云原生功能增强、安全加固和代码重构,利用动态加载机制可以实现不同的产品形态,如Web服务器、流媒体服务器、负载均衡、代理(Proxy)、应用中间件、API网关、消息队列等产品形态等等。它可以提供http3、kic、kv-store、qa、ssl、upstream-server动态化、国密、故障注入、流量劫持、灰度发布等方面技术的应用,同时支持go、lua等脚本扩展NJet的功能。

在本文中,我们将通过一个例子探讨++OpenNJet++ 平台的各种优势和特点,以及如何通过++OpenNJet++来加速您的项目开发、降低成本、提高可靠性。让我们一起开启创新之旅,共同构建更加开放、共享的科技未来!

安装OpenNJet

首先选择正确的安装包(CentOS选rpm,Ubuntu选deb)并下载

下载好之后开始安装

等待安装完成后,启动OpenNJet

返回了网页内容,说明启动成功。

部署Web Server

将网站放入linux系统下,这里我们放在用户根目录。进入到/usr/local/njet/conf中修改配置文件

OpenNJet的默认配置文件为njet.conf.default, 修改里面的http部分

将我们的网站文件夹设定为根目录,将首页设置为index.html。保存之后,启动OpenNJet,并用curl测试

可以看到网站已经上线。这时我们用浏览器访问8080端口,就可以访问到网站。

增加访问计数

OpenNJet 实现了可持久化的键值存储,这一功能可以实现OpenNJet不同模块间运行状态信息的共享。接下来我们尝试为网站增加访问计数。首先在网站中增加一个元素,并在其中添加计数器

这段代码首先在页面上创建了一个带有唯一标识符的 <b> 元素,用于显示访问计数。然后,通过 JavaScript 使用 XMLHttpRequest 对象向服务器发送异步请求,请求页面的访问计数。请求完成后,根据服务器返回的状态码,更新页面上的计数器显示,如果请求成功,将计数值显示在计数器上,否则显示错误信息。之后打开配置文件,打开njet中lua的支持,并在路由中添加count节点

当收到以 /counter 开头的请求时,将执行 Lua 代码块。该代码块首先引入了名为 kv 的 Lua 模块,用于处理键值存储操作。接着,从请求中获取 URI 参数,其中的 page_id 参数被用作键值存储中的键。如果成功从数据库中获取了指定键的值,则将其作为页面的访问计数值。访问计数加一,然后将更新后的值写回到数据库中。最后,返回更新后的计数值给客户端。保存好后,通过curl访问2次目标页面

之后打开网站,可以看到计数器刷新

总结

在这个快速变化的世界中,科技的发展一直是推动社会进步的关键力量。然而,随着技术的不断演进和创新,我们也面临着越来越多的挑战和机遇。在这样的背景下,开源软件和开放式创新成为了不可或缺的一部分,为我们开辟了通向更加开放和共享的技术世界的大门。

在开源软件的世界里,OpenNJet作为一个开放、灵活的平台,为技术创新提供了全新的可能性。OpenNJet致力于打造一个开放、协作的生态系统,为开发者和创新者提供了丰富的工具和资源,以解决复杂的技术挑战并促进项目的快速发展。

相关推荐
我的xiaodoujiao6 小时前
快速学习Python基础知识详细图文教程9--函数进阶
开发语言·python·学习·测试工具
Xzaveir6 小时前
别把所有“认证”都塞进 AuthService:实名、一键登录与号码身份的领域拆分
android·人工智能
BerrySen1787 小时前
KMP全栈开发:从Android到AI Agent的技术演进与实践
android·人工智能
战族狼魂7 小时前
高频面试题精选:分治与AI Agent架构
人工智能·算法·大模型·大语言模型
weixin_408099677 小时前
2026 图片去水印 API 接口完全指南:一键去除图片水印(附 Python/Java/PHP/C# 示例)
java·python·php·图片处理·api调用·图片去水印·石榴智能
去码头整点薯条ing7 小时前
某当网登录滑块【协议+OCR】
爬虫·python·ocr
zSD55rt5a7 小时前
方差在扩散模型保护中的作用
人工智能·harmonyos
人生百态,人生如梦8 小时前
情感交互仿生人从技术到落地构想3——技术交流贴(2026.7)
人工智能·机器学习·人机交互·交互·具身智能
瑞瑞小同学8 小时前
处理echarts x轴内容过多,重叠问题
前端·javascript·echarts