前言前几天使用nginx+nginx_upload_module+python(回调处理程序)搭建了一个简单的文件服务器,网上很多人都建议使用Lua去扩展nginx的功能,所以琢磨了下如何使用Lua语言去对nginx去做功能扩展,网上查阅了许多资料,发现环境搭建还是比较麻烦的,需要安装LuaJIT,nginx的还需要一起编译ngx_devel_kit、lua-nginx-module模块,然后发现
转载 9月前
214阅读
获取请求参数vim  /usr/example/example.conflocation /lua_var { default_type 'text/plain'; content_by_lua_block { ngx.say(ngx.var.arg_a) } }重新加载nginx配置文件: nginx -s rel
转载 2024-06-10 20:53:37
53阅读
背景:由于我们项目上都是安装和使用的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
标题有点绕口。我尽量把关键词都贴进去。之前因为自己的nginx安装了ngx_lua模块,但是又需要引入但是安装luafilesystem又需要先安装luarocks,比较繁琐。这里就想记录一下安装过程。 nginx安装ngx_lua模块可以参考:LNMP平滑升级nginx并安装ngx_lua模块教程 下面进入正题 下载:wget http://keplerprojec
转载 2024-04-24 07:45:53
20阅读
分布式部署多服务部署,往往需要把图片单独分离出来,于是便想到了nginx的增强版openresty。nginx虽然可以作为静态资源服务器,接收图片上传、下载,但openresty作为nginx的升级版,提供了大量精良lua、第三方库,为广大开发者所喜爱,比nginx是更胜一筹。一、openresty安装1、安装依赖$ yum install pcre-devel openssl-devel gcc
实际上如果单纯的进行nginx sse 处理很简单,但是我们实际的场景存在数据访问控制以及数据处理 对于此问题,我们可以使用sse client 包装,然后同时将我们的请求endpoint 暴露为一个sse 服务 参考处理图 代码说明 sse 服务 基于nodejs 开发的一个测试,基于expres
原创 2022-06-05 22:35:01
564阅读
简介OpenResty是一个基于Nginx+Lua的Web运行环境,它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项。OpenResty可以用来实现高并发的动态Web应用Open 取自“开放”之意,而Resty便是 REST 风格的意思OpenResty使用的Lua版本是5.1,不使用更新版本的原因是5.2+版本的Lua API和C API都不兼容于5.1。自从 O
转载 2024-03-13 09:48:40
207阅读
首先我们选择使用OpenResty,其是由Nginx核心加很多第三方模块组成,其最大的亮点是默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用。借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。目前在京东如实时价格、秒
转载 2024-03-27 10:36:06
132阅读
orange使用一、安装依赖1.安装OpenSSL(Openresty依赖库)2.安装PCRE(Openresty依赖库)3.编译安装Openresty(Orange依赖)4.编译安装lor框架(Orange依赖)二、安装Orange三、配置Orange四、登录orange web管理页面 简介 Orange是一个简单易用的开源API Gateway,它集成了Openresty、Nginx和
在前面一篇中已经介绍了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)、若干个微服务。 各
五、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阅读
OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。可以自己写LUA脚本实现大部分的WEB功能。Nginx不依赖第三库的默认功能包括反向代理负载均衡HTTP服务器正向代理我们可以看到,其默认的功能很强大,但是我们也会偶尔有特殊的需求,需要根据需求来定制一些路由规则等等,因此就用到了OpenResty,这里
转载 2024-04-04 09:00:57
68阅读
1、Lua简介因为项目使用开发使用接触到了lua进行开发。所以在学习中进行了整理记录。Lua是一种很轻量级的的脚本语言,用标准C语言编写的并以源代码形式开放,其设计的目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。为什么使用Lua?Lua很重要的一个功能就是很方便的集成到应用程序内,lua可以直接在运行程序内运行,可以理解为不需要编译过程。比如使用java开发的应用程序,一般在应
#### 通过前面几章,我们已经掌握了一些基本的开发知识,但是代码结构比较简单,缺乏统一的标准,模块化,也缺乏统一的异常处理,这一章我们主要来学习如何封装一个轻量级的MVC框架,规范以及简化开发,并且提供类似php所见即所得的能力 ## 统一入口 通常来说一个mvc框架会有一个统一的入口点,类似于spring mvc的DispatcherServlet
转载 2024-09-04 23:01:16
34阅读
还记得第一次尝试前后端分离的时候,是使用nginx + react 构建的spa应用,后端是java,主要处理业务逻辑逻辑部分,返回json数据,在nginx里面配置好html + js纯静态文件,再通过反向代理到java后端,解决跨域问题,然后使用ajax来进行交互,模型很简单,也很有效主要解决了几个问题一、独立,由于前后端分离,在开发的时候完全可以互相独立,所谓独立,其实就是说前后端是属于两个
一,什么是幂等性?1,幂等:   幂等操作:不管执行多少次,所产生的影响都和一次执行的影响相同。   幂等函数或幂等方法:可以使用相同的参数重复执行,并能获得相同的结果的函数/方法。   这些函数/方法不用担心重复执行会对系统造成改变。2,幂等操作的一些例子:   前端重复提交相同的数据,后台只产生对应这个数据的一个相
转载 2023-05-30 13:47:43
148阅读
OpenResty安装使用在Nginx新版本中没有直接提供Lua模块的集成,Lua脚本模块已经作为第三方集成模块中去了,查看Nginx博客地址可知,集成到OpenResty中,OpenResty由主要国人章亦春维护的项目。OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩
转载 2024-04-22 19:22:28
45阅读
  • 1
  • 2
  • 3
  • 4
  • 5