首先我们选择使用OpenResty,其是由Nginx核心加很多第三方模块组成,其最大的亮点是默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用。借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。目前在京东如实时价格、秒
转载 2024-03-27 10:36:06
132阅读
一、缓存架构OpenResty 和 Redis 实现缓存架构,如下图所示:   1) 当请求过来时,先查找 Nginx 缓存,若缓存存在需要的数据,则直接返回。否则进入第二步;   2) 若 Nginx 缓存模块中不存在数据,则通过 Lua 脚本查询 Redis。若 Redis 中存在数据,则通过 Lua 脚本将数据存入 Nginx 缓存中,并返回查询到的数据。否则进入第三步;   3) 若 Re
转载 2024-02-26 15:52:25
193阅读
ngx.var.arg_strider的值为”1”,而ngx.req.get_uri_args[“strider”]的值为table [“1”, “2”, “3”, “4”]。重写阶段、访问限制阶段、内容处
原创 精选 2024-03-27 16:23:40
506阅读
1点赞
1评论
不加 local 的变量会在全局表中查找,这是昂贵的操作。如果再加上一些变量名的拼写错误,就会造成难以定位的 bug。可以把 s 这个包含函数的字符串,改成可以由
原创 2024-07-21 15:30:00
224阅读
什么是OpenResty天下武功,为快不破。Nginx 的看家本领就是速度,Lua 的拿手好戏亦是速度,这两者的结合在速度上无疑有基因上的优势。最先将 Nginx,Lua 组合到一起的是 OpenResty,它有一个 ngx_lua 模块,将 Lua 嵌入到了 Nginx 里面。本教程从环境搭建到实战讲解,逐步向读者展示如何使用 Nginx+Lua 框架进行开发。 使用场景先看一下官网的解释在 L
转载 2024-03-19 14:04:37
152阅读
redis的连接是tcp连接,建立TCP连接需要三次握手,而释放TCP连接需要四次握手,而这些往返时延仅需要一次,但A
原创 2024-03-27 16:23:28
341阅读
Nginx是一个Master进程多个Worker进程的工作方式,因此我们可能需要在多个Worker进程中共享数据。使用来实现全局内存共享。
原创 2024-04-09 16:36:16
371阅读
客户端目前还没有提供预编译SQL支持(即占位符替换位置变量),我们编写个案例,操作mysql数据库,编辑test.lua。默认安
原创 2024-03-27 17:22:14
117阅读
上一篇文章中 我们对 openresty 有了一个初步的认识,我们用到了自定义的 lua 模块。实际上 openresty 提供了很丰富的lua模块。让我们在实现某些场景的时候更加方便。可以在 openresty 安装目录下的 lualib 目录下看到很多已经存在的 lua文件如下:[root@zk03 openresty]# cd lualib[root@zk03 lualib]# ll总...
原创 2022-11-11 09:43:34
171阅读
安裝包部署 wget https://openresty.org/download/openresty-1.19.9.1.tar.gz tar -zxvf openresty-1.19.9.1.tar.gz cd openresty-1.19.9.1/ ./configure --prefix=/opt/resource/openresty-1.19.9.1 make && mak
原创 2023-04-01 23:31:23
850阅读
背景:由于我们项目上都是安装和使用openresty,而我们组也有一些依托openresty软件来做的应用。但是我们现在部署工作都是使用自研的一键部署平台(也是波哥主导开发的)底层用的ansible来实现的。单独开源出来的playbook不一定适用各位。所以花了点时间写了一份更通用的shell脚本以便大家使用。结合读者对于上一篇《一键部署nginx脚本》的意见我增加了版本变量,可以在执行脚本的时
转载 2024-05-06 11:08:02
121阅读
Openresty 是基于 Nginx 的一个成熟的网络平台,集成 Nginx 和加强的 LuaJit,许多实用的 Lua 库和一些高品质高性能的第三方 Nginx 模块。本文将使用 Openresty 来搭建一个简单的灰度发布系统。环境为 Cenos 7。1 安装 Openresty 下载源码wget https://openresty.org/download/openrest
ngx.location.capture 方法就是发起http的请求,但是它只能请求 内部服务,不能直接请求外部服务。编辑nginx.co
原创 2024-03-27 16:23:14
1611阅读
1点赞
orange使用一、安装依赖1.安装OpenSSL(Openresty依赖库)2.安装PCRE(Openresty依赖库)3.编译安装Openresty(Orange依赖)4.编译安装lor框架(Orange依赖)二、安装Orange三、配置Orange四、登录orange web管理页面 简介 Orange是一个简单易用的开源API Gateway,它集成了Openresty、Nginx和
五、11个指令介绍OpenResty 有 11 个 *_by_lua指令,它们和 NGINX 阶段的关系如下图所示其中, init_by_lua 只会在 Master 进程被创建时执行,init_worker_by_lua 只会在每个 Worker 进程被创建时执行。其他的 *_by_lua 指令则是由终端请求触发,会被反复执行。所以在 init_by_lua 阶段,我们可以预先加载 Lua 模块
转载 2024-06-23 07:00:01
167阅读
引入cjson.safe 模块接口,该接口兼容 cjson 模块,并且在解析错误时不抛出异常,而是返回 nil。这个是因为对于 Lua 本身,是把数组和
原创 2024-03-27 16:23:50
198阅读
分布式部署多服务部署,往往需要把图片单独分离出来,于是便想到了nginx的增强版openresty。nginx虽然可以作为静态资源服务器,接收图片上传、下载,但openresty作为nginx的升级版,提供了大量精良lua、第三方库,为广大开发者所喜爱,比nginx是更胜一筹。一、openresty安装1、安装依赖$ yum install pcre-devel openssl-devel gcc
在前面一篇中已经介绍了Openresty的相关知识和一个简单的hello world的访问。本篇依然是延续上一篇进行讲解。 需要提前申明的是我环境有问题。重新安装了一次openresty,这次安装的目录和上一次不一样了。一:环境说明:虚拟机 :CentOs 6.3 32位 OpenResty 安装目录 : /opt/openresty/ 版本: /opt/openresty/nginx/sbi
浅谈openresty为什么会有OpenResty? 我们都知道Nginx有很多的特性和好处,但是在Nginx上开发成了一个难题,Nginx模块需要用C开发,而且必须符合一系列复杂的规则,最重要的用C开发模块必须要熟悉Nginx的源代码,使得开发者对其望而生畏。为了开发人员方便,所以接下来我们要介绍一种整合了Nginx和lua的框架,那就是OpenResty,它帮我们实现了可以用lua的规
转载 2024-05-22 12:44:01
29阅读
 一、逻辑架构 1、基于OpenResty开发智能代理;   利用其动态可编程特性,动态化配置nginx服务路由;2、需要向OpenResty添加weibo开源的upsync服务发现模块;3、基于consul建设微服务注册中心集群;4、服务网格中的每个node包括至少一个智能代理(openresty+consul client)、若干个微服务。 各
  • 1
  • 2
  • 3
  • 4
  • 5