Openresty(Lua+Nginx)实践】的更多相关文章

openresty(nginx+lua)发http请求 利用location+proxy_pass间接实现 location ^~ /test/http { internal; proxy_pass http://test.com/path; } lua代码 local res, err = ngx.location.capture("/test/http", { method = ngx.HTTP_POST, body = body }); if res then ngx.log(n…
1.新增项目配置文件: vim /usr/example/example1.conf --将以下内容加入example1.conf server { listen 80; server_name _; #~ 表示匹配所有请求路径 #(\d+)/(\d+) 正则匹配 location ~ /lua_request/(\d+)/(\d+) { #设置nginx变量 set $a $1; set $b $host; default_type "text/html"; #nginx内容处理 c…
openresty+lua在反向代理服务中的玩法 phith0n · 2015/06/02 10:35 0x01 起因 几天前学弟给我介绍他用nginx搭建的反代,代理了谷歌和维基百科. 由此我想到了一些邪恶的东西:反代既然是所有流量走我的服务器,那我是不是能够在中途做些手脚,达到一些有趣的目的. openresty是一款结合了nginx和lua的全功能web服务器,我感觉其角色和tornado类似,既是一个中间件,也结合了一个后端解释器.所以,我们可以在nginx上用lua开发很多“有趣”的东…
1.openresty+lua+kafka 1.1 openresty+lua+kafka方案 之前的项目基于nginx反向代理后转发到Tomcat的API接口进行业务处理,然后将json数据打入kafka中,但是随着业务的扩大,访问量越来越大,并发数也很高,导致程序遇到性能问题: 基于nginx的高性能特点,现在考虑使用一种openresty+lua+kafka,直接在nginx阶段将数据打入kafka中,来提高性能. 1.1.1 OpenResty运行原理 Nginx 采用的是 master…
简介 在很多数据采集场景下,Flume作为一个高性能采集日志的工具,相信大家都知道它.许多人想起Flume这个组件能联想到的大多数都是Flume跟Kafka相结合进行日志的采集,这种方案有很多他的优点,比如高性能.高吞吐.数据可靠性等.但是我们如果要求对日志进行实时的采集,这显然不是一个好的解决方案.原因如下: 就目前来说,Flume能支持实时监控一个目录的数据文件,一旦对某个目录的文件采集完成,就会打上completed的标志,若之后再有数据进入这个文件中,Flume则不会检测到. 所以,我们…
写在前面 OpenResty(后面简称:OR)是一个基于Nginx和Lua的高性能Web平台,它内部集成大量的Lua API以及第三方模块,可以利用它快速搭建支持高并发.极具动态性和扩展性的Web应用.Web服务或动态网关. OR最大的特点就是,将Lua协程与Nginx事件驱动模型及非阻塞I/O结合起来.使用户可以在handler中使用 同步但是依然是非阻塞 的方式编写其应用代码,而无需关心底层的协程调度以及与Nginx事件驱动模型的交互. 本文将先从总体上介绍OR的协程调度机制,然后结合源码以…
前面一篇文章介绍了Openresty Lua协程调度机制,主要关心的是核心调度函数run_thread()内部发生的事情,而对于外部的事情我们并没有涉及.本篇作为其姊妹篇,准备补上剩余的部分.本篇将通过一个例子,完整介绍OpenResty中Lua钩子的调用流程,包括初始化阶段的工作.新连接进来时如何进入钩子.I/O等待时如何出去.事件触发时如何恢复.钩子正常执行结束时的操作.钩子内出错的情况.本文同样是基于stream-lua模块的代码. 本博客已经迁移至CatBro's Blog,那里是我自己…
最近开发一个项目,公司使用的是 openresty + lua,所以就研究了 openresty + lua.介绍的话,我就不多说了,网上太多了. 写这个博客主要是记录一下,在学习的过程中遇到的一些坑吧(其实会了一种语言,再学习其他语言不难,但是毕竟属于新的东西,环境.写法什么的还是有点差别,如果不注意也是心醉呢,比如说我,就遇到了一些问题) 先贴下我几个学习的网站: 1.http://www.runoob.com/lua/lua-tutorial.html 2.http://wiki.jike…
用lua nginx module搭建一个二维码(qr code)生成器 作者 vinoca 發布於 2014年10月31日 如果有VPS,或者开源的路由器,安装一个nginx,添加lua-nginx-module,再编译安装qrencode for lua ,用下面的lua代码,访问http://youip/qr?t=hello就可以看到效果啦: local qr = require "qrencode" local args = ngx.req.get_uri_args() ngx…
需求说明: 最近在对系统进行安全扫描的时候,出现了openssl版本的问题,建议对openssl版本进行升级,在此记录下升级过程. 环境说明: 操作系统:RHEL 6.6 升级操作过程: 1.下载最新版本openssl 下载地址:https://www.openssl.org/source/ 下载1.0.2的分支版本 2.将压缩包上传到服务器上 3.查看当前openssl版本信息 [root@openssl ~]# openssl version -a OpenSSL Feb built on:…