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致力于打造一个开放、协作的生态系统,为开发者和创新者提供了丰富的工具和资源,以解决复杂的技术挑战并促进项目的快速发展。

相关推荐
一只小风华~6 分钟前
JavaScript 定时器
开发语言·前端·javascript·vue.js·web
wow_DG8 分钟前
【PyTorch✨】01 初识PyTorch
人工智能·pytorch·python
海绵波波10720 分钟前
解读LISA:通过大型语言模型实现推理分割
人工智能·语言模型·自然语言处理
朝阳3935 分钟前
浏览器【详解】requestIdleCallback(浏览器空闲时执行)
前端·浏览器
典学长编程44 分钟前
前端开发(HTML,CSS,VUE,JS)从入门到精通!第二天(CSS)
前端·javascript·css·html
暖苏44 分钟前
python-异常(笔记)
大数据·开发语言·笔记·python·异常
昨日之日20061 小时前
FLUX.1 Kontext Dev V2版 - 消费级显卡(6G显存)畅玩的AI修图神器 支持批量 支持多图融合编辑 支持50系显卡 一键整合包下载
人工智能
海森大数据1 小时前
神经网络“开窍”时刻:从死记位置到理解意义的语言奇点
人工智能·深度学习·神经网络
贾全1 小时前
Transformer架构全解析:搭建AI的“神经网络大厦“
人工智能·神经网络·ai·语言模型·自然语言处理·架构·transformer
丘山子1 小时前
DNS 原理入门
前端·后端·面试