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

发布于:2024-05-05 ⋅ 阅读:(34) ⋅ 点赞:(0)

前言

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