基于 NGINX 和 LuaJIT 的 Web 平台 OpenResty

基于 NGINX 和 LuaJIT 的 Web 平台 OpenResty

BSD
C/C++ 查看源码»
Linux
2011-12-08
章亦春

OpenResty —— 通过 Lua 扩展 NGINX 实现的可伸缩的 Web 平台。

OpenResty(也称为 ngx_openresty)是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

OpenResty 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发,),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。

OpenResty 的目标是让你的 Web 服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如 MySQL、PostgreSQL、Memcached 以及 Redis 等都进行一致的高性能响应。

参考 组件 可以知道 OpenResty 中包含了多少软件。

参考 上路 学习如何从最简单的 hello world 开始使用 OpenResty 开发 HTTP 业务,或前往 下载 直接获取 OpenResty 的源代码包开始体验。

因为 OpenResty 软件包的维护者也是其中打包的许多 Nginx 模块的作者,所以 OpenResty 可以确保所包含的所有组件可以可靠地协同工作。

加载中

评论(9)

delgyd
delgyd
Illegal instruction
巴蛮子
巴蛮子
#VeryNginx# 的代码发现nginx配置文件里面有`location @vn_proxy`,没见过,查了一下文档发现这是一个好东西,尤其是跟 #OpenResty# 里面的 `ngx.exec` 结合起来用的话,可以让lua代码只专注在路由逻辑上 https://github.com/openresty/lua-nginx-module#ngxex
巴蛮子
巴蛮子
#zerobrane-studio# 还真可以调试 #OpenResty# ,不过 nginx.conf 中 xxxx_by_lua_block 里面的代码调试不了,另外 init_by_lua_xxxx 里面不能发起网络调用也不能连上调试器
巴蛮子
巴蛮子
这个 #zerobrane-studio# 说是能调试 #OpenResty# 里面的lua脚本,但我试了一下不行,主要还是 set_by_lua 这个阶段不让使用cosocket这些,一会儿试试content_by_lua
joy_zheng
joy_zheng
张伟斌卍
张伟斌卍
看着好牛逼,性能怎么样? #OpenResty#
iDev_周晶
iDev_周晶
#Vanilla##OpenResty#文档,不仅能学技术还能学英语。@章亦春
iDev_周晶
iDev_周晶
欢迎一起讨论#OpenResty# #Vanilla#高性能Web服务开发 http://www.oschina.net/question/865233_2146261
iDev_周晶
iDev_周晶
今天怎么没有人问答了?大家对#OpenResty##Vanilla#不感兴趣吗?http://www.oschina.net/question/865233_2146261

OpenResty 1.13.6.2,基于 Nginx 与 Lua 的 Web 平台

OpenResty 1.13.6.2 已发布,从这个版本开始,官方将会提供 64 位 Windows 原生二进制包,也为 Ubuntu 18.04 Bionic 提供新的 yum 包。 下一个 OpenResty 版本将基于 nginx core 1.13.12 或即...

05/23 09:20

历时两年半,锤子科技给 OpenResty 的捐款终于到账了

2015 年底,锤子科技在其产品发布会上宣布将门票收入捐赠给国人章亦春主导的开源项目 OpenResty 。但由于想要监管、公开和透明,OpenResty 基金会想要申请成为合法的慈善机构,因为并未能快速...

04/07 08:25

OpenResty 1.13.6.1,基于 Nginx 与 Lua 的 Web 平台

OpenResty 1.13.6.1 已发布,此版本基于最新的 Nginx 主线版 1.13.6,包含了新的 ngx_stream_lua_module 模块(默认启用),可以在 OpenResty 里面用 Lua 实现 TCP 服务器编程了,对 UDP 的支...

2017/11/17 11:13

OpenResty 1.11.2.5 发布,Web 应用服务器

OpenResty 1.11.2.5 已发布,Version 1.11.2.5 部分更新内容如下: feature: applied a patch to the nginx core to make the nginx variable $proxy_add_x_forwarded_for accessible on Lua...

2017/08/22 16:56

OpenResty 1.11.2.4 发布,Web 应用服务器

OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器。它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项。 通过众多进行良好设计的 Nginx 模块,O...

2017/07/13 16:11

OpenResty 1.11.2.3 发布,Web 应用服务器

OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器。它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项。 通过众多进行良好设计的 Nginx 模块,O...

2017/04/25 17:01

OpenResty 1.11.2 发布,添加 opm 包管理工具

OpenResty 1.11.2 正式版发布了,这是第一个包含 opm 包管理工具和 lua-resty-limit-traffic 库的 OpenResty 正式版。 更新内容: 功能 添加了新的命令行实用程序工具 —— 0.02 版本的 opm ...

2016/11/18 10:05

OpenResty 软件基金会成为豁免缴税的慈善机构

用了整整一年的时间,OPENRESTY SOFTWARE FOUNDATION LIMITED 终于通过香港税务局的审批,按照《税务条例》88条成为豁免缴税的慈善机构! 这是中国第一家,也是唯一一家获得合法资质的软件基...

2016/11/08 11:09

OpenResty 1.11.2.1 发布,更新 Nginx 至 1.11.2

OpenResty 1.11.2.1 发布了,更新 Nginx 至 1.11.2,更新 ngx_lua 至 0.10.6。 详细更新如下: https://openresty.org/en/changelog-1011002.html 下载: openresty-1.11.2.1.tar.gz Source...

2016/08/26 15:36

OpenResty 1.9.15.1 发布

OpenResty 1.9.15.1 发布了,更新内容如下: upgraded the Nginx core to 1.9.15. see the changes here: http://nginx.org/en/CHANGES bugfix: applied the patch for nginx security advi...

2016/06/06 16:33

没有更多内容

加载失败,请刷新页面

31
回答
【开源访谈】OpenResty 作者章亦春访谈实录

关于开源访谈 开源访谈是开源中国推出的一系列针对国内优秀开源软件作者的访谈,以文字的方式记录并传播。我们希望开源访谈能全面的展现国内开源软件、开源软件作者...

2012/07/09 19:53
2
回答
openresty添加tengine的nginx_upstream_check_module模块

公司使用了openresty 版本号是1.9.3 因业务需要 现在给它添加淘宝技术团队的健康检查模块 nginx_upstream_check_modul...

2015/12/16 12:50
1
回答
如何利用nginx+lua实现一个网页验证的功能?

具体需求是: 用户通过我们的nginx对web服务器进行访问,在某些情况下,用户的请求会触发一个人机识别的动作。 这个动作具体是会在用户向web服务器发起...

05/31 12:36
1
回答
lua-nginx-module的body_filter_by_lua的ngx.arg[1]不能返回所有response body
李毅超 的回答 2017/06/21 17:23
最佳答案
解决了,详见:https://github.com/openresty/lua-nginx-module/issues/1092
24
回答
关于“国产软件”的标签

国产软件,是否应该改称“国内开发者参与了开发的软件”?

2011/12/12 00:40
7
回答
nginx中lua_nginx_module模块如何能在修改了lua文件后无需重启即可自动生效
无名码农 的回答 2013/01/24 01:02
最佳答案
貌似要把cache关了吧,好像还没有自动检测文件并重新加载的功能的。
2
回答
为什么很多项目利用lua实现nginx的reload等动作?有什么优势呢?
loyal 的回答 2016/11/22 15:22
最佳答案
别人load的静态资源吧?或自定义处理的资源吧?
6
回答
【重磅】Docker企业级管理平台开放下载,免费使用

云帮是什么? 云帮是一款基于容器技术的(应用管理/Docker管理/高效运维)PaaS平台。社区版针对个人、企业完全免费,您可以自由的下载与传播,但需要遵...

2016/09/01 18:56
1
回答
openresty调用自己编译C动态库,无法找到其自己动态库依赖的库

使用FFI编写一个动态库,库里面调用openssl及相关的库,但是加载到openresty时,无法找到其依赖的openssl库和第三方的库,并且已放到us...

2016/09/26 16:14

没有更多内容

加载失败,请刷新页面

Web开发平台OpenResty(一):学习资料、基本组成与使用方法

作者: 李佶澳 转载请保留:原文地址 发布时间:2018-10-25 10:12:32 +0800 说明 学习资料 开发环境搭建 第一个OpenResty项目 用resty命令运行 用openresty运行 OpenResty与Lua的关系 OpenRe...

11/20 07:52
0
0
openresty+lua灰度发布的简单实验

如题,本文是笔者使用openresty 和lua脚本实现的简单灰度发布系统,记录下来。 一、安装 参考openresty 官方网站安装openresty即可 建议参考文章https://www.cnblogs.com/zdz8207/p/Nginx-L...

08/27 19:17
134
0
openresty 导致大量 timewait 的一次跳坑经历

背景是cdn 的刷新系统,agent 会向 openresty 发送大量 GET / PURGE 请求,然后由openresty 将请求转发给后端 ats ,当压测的时候,发现openresty 性能出现问题,检查发现出现了大量TIMEWAI...

03/27 18:28
343
0
在 OSX 上用 openresty 架设自己的 Git Web Service

# 在 OSX 上用 openresty 架设自己的 Git Web Service ## 目录 - [介绍](#介绍) - [下载编译安装 openresty](#下载编译安装openresty) - [启动 openresty](#启动openresty) - [下载编译运行 ...

2015/06/22 14:29
435
1
Openresty中使用LuaJit

今天在使用Openresty的时候,遇到了一个问题: local resty_sha1 = require "resty.sha1" 想使用resy.sha1的时候,出现了error,log如下: 2013/09/25 09:00:40 [error] 19620#0: *3 lua en...

2013/09/25 14:42
2.3K
0
【开源访谈】OpenResty 作者章亦春访谈实录

【开源访谈】OpenResty 作者章亦春访谈实录 #深圳# 6月10日 亚马逊AWSome Day云计算免费培训报名中 关于开源访谈 开源访谈是开源中国推出的一系列针对国内优秀开源软件作者的访谈,以文字的方...

2015/06/01 09:00
163
1
使用OpenResty开发应用网关

# 使用OpenResty开发应用网关 ## 我们的应用 ![image](https://gitee.com/satan-osc/codes/nm4eaoqbuc6pvzg5sly7812/raw?blob_name=pushv3.png) 设备消息平台做为硬件设备与业务集群间消息通...

05/25 20:10
71
0
OpenResty(nginx扩展)实现防cc攻击

OpenResty(nginx扩展)实现防cc攻击 作者:朱 茂海 /分类:Nginx, 服务器安全 /Tag:OpenResty 文章目录 [隐藏] 一、安装依赖 二、luajit安装 三、openresty安装 四、nginx配置 防cc攻击,推荐使...

2015/06/05 22:41
514
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部