OpenResty / Nginx模块,Lua库和相关资源的列表

什么是OpenResty

OpenResty是一个成熟的网络平台,它集成了标准的Nginx核心,LuaJIT,许多精心编写的Lua库,许多高质量的第三方Nginx模块以及大多数外部依赖项。它旨在帮助开发人员轻松构建可伸缩的Web应用程序,Web服务和动态Web网关。

通过利用各种精心设计的Nginx模块(其中大部分由OpenResty团队自己开发),OpenResty有效地将nginx服务器转变为功能强大的Web应用服务器,其中Web开发人员可以使用Lua编程语言编写各种脚本现有的nginx C模块和Lua模块,构建极高性能的Web应用程序,能够在一个盒子中处理10K~1000K +连接。

OpenResty旨在完全在Nginx服务器中运行您的服务器端Web应用程序,利用Nginx的事件模型不仅可以与HTTP客户端进行非阻塞I / O,还可以使用MySQL,PostgreSQL,Memcached和Redis等远程后端。

OpenResty的实际应用包括动态Web门户和Web网关,Web应用防火墙,用于移动应用/广告/分布式存储/数据分析的Web服务平台,以及成熟的动态Web应用和网站。用于运行OpenResty的硬件范围从非常大的金属到资源非常有限的嵌入式设备。我们的生产用户每天只需少量机器就能为数百万活跃用户提供数十亿的请求,这种情况并不少见。

OpenResty不是Nginx分支。它只是一个软件包。在OpenResty中应用于Nginx核心的大多数补丁已经提交给官方的Nginx团队,并且提交的大多数补丁也已被接受。我们正在努力不分叉Nginx并始终使用官方Nginx团队中最新的最佳Nginx核心。

官方频道

模块

核心模块

核心模块捆绑在OpenResty包中。

另请注意,restyOpenResty包中包含命令行客户端。该命令行客户机的来源可以在Github找到。

核心Nginx模块

要了解有关Nginx核心模块的更多信息,请参阅Nginx文档。Nginx附带的一些模块(并非所有模块都默认构建):

第三方Nginx模块

  • ngx_lua_ipc - Lua Nginx模块和OpenResty的进程间通信 - 在Nginx工作进程之间发送带有字符串数据的命名警报
  • nchanGithub) - 用于HTTP,长轮询,Websockets和EventSource(SSE)的快速,水平可伸缩,多进程发布/ 订阅队列服务器和代理
  • ngx_pagespeedGithub) - Nginx的自动PageSpeed优化模块
  • ModSecurity - 开源Web应用程序防火墙
  • NAXSI - NAXSI是NGINX的开源,高性能,低规则维护WAF; NAXSI意味着Nginx Anti Xss和Sql Injection
  • nginx-upsync-module - Nginx C模块,从consul或其他人同步上游,动态调整后端服务器权重,无需重新加载nginx
  • sass-nginx-module - 语法上令人敬畏的Nginx模块
  • 更多第三方模块

核心库

核心库捆绑在OpenResty包中,您无需单独安装它们。

网络框架

  • Lapis - Lapis是一个使用MoonScript或Lua构建Web应用程序的框架,它在Nginx的定制版本中运行,称为OpenResty
  • lorGithub) - 基于OpenResty的快速简约的Web框架
  • Vanilla - 一个OpenResty Web框架
  • luastar - 基于OpenResty的HTTP服务器和Web框架
  • Lusty - Lua RESTful Web应用程序框架,一个可扩展且快速的Web框架
  • GIN - 具有测试驱动开发助手和模式的快速,低延迟,低内存占用空间的Web JSON-API框架
  • Quick Server - 基于OpenResty的服务器框架
  • Sailor - Lua MVC Web框架
  • lua-resty-rack - 一个简单且可扩展的OpenResty HTTP服务器框架
  • MOOCHINE - 基于OpenResty的简单轻量级Web框架
  • sinatra-openresty - Sinatra移植到OpenResty框架
  • lj-web - 基于ngx_openresty的轻量级Web框架
  • Gimlet Cocktail - 由Martini&Sinatra启发的Moonscript编写的OpenResty微博客应用程序框架
  • durap - Durap是一个基于OpenResty的Lua Web框架。
  • Ziggy Stardust - Ziggy Stardust(或者只是“stardust”)是一个简单的nginx / Lua框架,灵感来自Sinatra,Express和Mercury
  • zLua - 一个基于OpenResty的Luign框架的Codeigniter
  • lua-resty-stack - OpenResty简单应用程序堆栈
  • dodolu - 基于OpenResty的轻量级Web框架
  • Octopus- Lua网络平台
  • vicky - 一个宁静的openresty框架,受到expressjs和koa的启发。

Web开发基础

路由库

  • lua-resty-route - OpenResty的 URL路由库,支持多个路由匹配器,中间件,HTTP和WebSockets处理程序,提及它的一些功能
  • router.lua - Lua的准系统路由器,它匹配URL并执行Lua功能
  • lua-resty-r3 - libr3 OpenResty实现,libr3是一个高性能的路径调度库。它将您的路径路径编译为前缀树(trie)。通过在启动时使用构造的前缀trie,您可以有效地调度路径

请求分段解析器

中间件和API工具

模板

验证

  • lua-resty-validation - Lua和OpenResty的可扩展链接验证和过滤库
  • valua - 验证lua!用于进行链式验证的模块。创建对象,附加测试,使用和重用它!

身份验证和授权

  • lua-resty-macaroons - LuaJIT FFI绑定到libmacaroons - Macaroons是灵活的授权凭证,支持分散委派,衰减和验证
  • lua-resty-openidc - lua-resty-openidc是NGINX实现OpenID Connect依赖方(RP)和OAuth 2.0资源服务器(RS)功能的库
  • lua-resty-duo-mobile - Duo Mobile Auth API的OpenResty客户端
  • micro-auth - 一种微服务,可以轻松地将Google和Github的身份验证添加到您的应用程序中(注意:在生产中使用它之前,请参阅:https://news.ycombinator.com/item  id = 13682682 - 希望我们可以删除此未来的评论)

加密

联网

数据库和存储

测试和分析

消息队列和任务管理

条形码和QR码

应用库

日期和时间

这些库未建立使用lua-nginx-module的日期时间函数(除luatz)一样ngx.todayngx.timengx.nowngx.localtime,或ngx.utctime,但他们仍然可以来得心应手。在某些时候,我们可能需要一个更“官方”的OpenResty时间库。

  • luatz - 用于时间和日期操作的Lua库(有后备ngx.now
  • LuaDate - Lua 5.x的Lua日期和时间模块
  • SciLua时间库 - 根据公历来操纵日期和期间的图书馆,即大多数用途的国际公认日历

压缩

文字格式

二进制格式

文件格式

图像格式

  • lua-resty-imagick - 使用FFI将Lua绑定到ImageMagick的MagicWand for LuaJIT
  • Lua IMagick - Lua Pure-C绑定到ImageMagick
  • magick - Lua使用FFI绑定到ImageMagick for LuaJIT
  • giflib - 使用FFI将Lua绑定到LuaJIT的GIFLIB
  • fi-luajit - FreeImage的LuaJIT接口
  • lua-vips - 用于libvips的LuaJIT绑定

本地库

高速缓存

  • lua-resty-lrucache - 基于LuaJIT FFI的Lua-land LRU Cache
  • lua-resty-mlcache - 使用lua-resty-lrucache,共享字典和缓存标记保护的现代灵活多级缓存。
  • shcache - shcache尝试使用ngx.shared.DICT,缓存状态机位于顶部
  • lua-resty-tlc - 使用lua-resty-lrucache和共享字典的双层缓存实现。
  • Ledge - OpenResty的Lua应用程序,为Nginx提供HTTP缓存功能,使用Redis作为缓存/元数据存储
  • lua-resty-cache - HTTP缓存到Redis,可以提供过时响应,并且lua-resty-lock只允许一个请求填充新缓存

度量和统计

  • LUAMETER - 用于Nginx的Lua模块,可以在Nginx内部实时记录并提供关键状态和性能指标(专有)
  • ngxtop - nginx服务器的实时指标

记录

编程

  • Lua Fun - Lua Fun是Lua的高性能函数编程库,设计时考虑了LuaJIT的跟踪编译器
  • Penlight - Penlight汇集了一组通用的纯Lua模块,专注于输入数据处理(如读取配置文件),函数编程(如map,reduce,占位符表达式等)和OS路径管理
  • Moses  - 用于功能编程的Lua实用带库。它补充了内置的Lua表库,使得对数组,列表和集合的操作更容易
  • Underscore.lua - Underscore.lua是一个Lua库,它提供了一组实用程序函数来处理迭代器,数组,表和函数
  • Lodash.lua - Lua关于Javascript库Lodash的函数式编程库
  • 在GitHub上搜索更多“Functional Lua”项目......

Web API

  • lua-resty-github - 在ngx_lua nginx模块中使用github api的Lua库
  • lua-resty-hipchat - 使用hipchat api的Lua库
  • lua-resty-newrelic - 基于C SDK的ngx_lua的Lua newrelic SDK
  • api-gateway-aws - 适用于AWS API的Lua模块。来自Nginx / OpenResty的缺少的AWS SDK。使用它以简单的方式代理AWS API,使用您喜欢的任何HTTP客户端。
  • lua-resty-aws - 适用于OpenResty + Lua的AWS签名V4库
  • lua-resty-aws-sdk - 根据API规范生成的原始AWS SDK
  • lua-resty-aws-email - 使用Amazon Simple Email Service(SES)API发送电子邮件
  • lua-resty-aws-auth - 简单的Lua resty实用程序,用于生成Amazon v4授权和签名标头
  • lua-resty-s3 - 用于将内容上传到Amazon S3的Lua驱动程序
  • lua-resty-s3uploader - AWS S3上传客户端,易于使用
  • lua-resty-paypal - Lua Paypal客户端使用快速结账OpenResty
  • lua-resty-17monip - 用于ngx_lua的17MonIP解析库
  • lua-resty-upyun - Upyun基于云的平台
  • lua-mailgun - 用于发送电子邮件和与Mailgun API交互的Lua库。通过Lapis HTTP API与OpenResty兼容,或通过LuaSocket与任何其他Lua脚本兼容。
  • lua-payments - 绑定到各种支付提供程序API以便在Lua中使用(使用OpenResty或支持LuaSocket的任何东西)

其他库

转自:https://github.com/bungle/awesome-resty

OpenResty / Nginx模块,Lua库和相关资源的列表的更多相关文章

  1. openresty(nginx)、lua、drizzle调研

    一.概述: 1.研究目标:nginx中使用lua脚本,及nginx直接访问mysql,redis 2.需要安装的内容: openresty,mysql,redis 3.OpenResty (也称为 n ...

  2. Github项目推荐-图神经网络(GNN)相关资源大列表

    文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 转自 | AI研习社 作者|Zonghan Wu 这是一个与图神经网络相关的资源集合.相关资源浏览下方 ...

  3. CentOS安装OpenResty(Nginx+Lua)开发环境

    一.简介 OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭建能够处理超高并发.扩展性极高 ...

  4. OpenResty(nginx扩展)实现防cc攻击

    OpenResty(nginx扩展)实现防cc攻击 导读 OpenResty 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强 ...

  5. 【官方文档】Nginx模块Nginx-Rtmp-Module学习笔记(二)HLS 指令详解

    源码地址:https://github.com/Tinywan/PHP_Experience 一.在Nginx配置文件的RTMP模块中配置hls hls_key_path /tmp/hlskeys; ...

  6. 【重要】Nginx模块Lua-Nginx-Module学习笔记(三)Nginx + Lua + Redis 已安装成功(非openresty 方式安装)

    源码地址:https://github.com/Tinywan/Lua-Nginx-Redis 一. 目标 使用Redis做分布式缓存:使用lua API来访问redis缓存:使用nginx向客户端提 ...

  7. nginx 安装第三方模块(lua)并热升级

    需求: nginx上将特定请求拒绝,并返回特定值. 解决办法: 使用lua脚本,实现效果. 操作步骤: 安装Luajit环境 重新编译nginx(目标机器上nginx -V 配置一致,并新增两个模块n ...

  8. 【精选】Nginx模块Lua-Nginx-Module学习笔记(一)Nginx Lua API 接口详解

    源码地址:https://github.com/Tinywan/Lua-Nginx-Redis 一.介绍 各种* _by_lua,* _by_lua_block和* _by_lua_file配置指令用 ...

  9. 【精选】Nginx模块Lua-Nginx-Module学习笔记(二)Lua指令详解(Directives)

    源码地址:https://github.com/Tinywan/Lua-Nginx-Redis Nginx与Lua编写脚本的基本构建块是指令. 指令用于指定何时运行用户Lua代码以及如何使用结果. 下 ...

随机推荐

  1. TestNG套件测试(二)

    在xml中指定要运行的整个包来执行套件测试 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...

  2. 猎豹CEO傅盛:与周鸿祎、雷军、马化腾、马云的的相爱相杀

    百度百科:傅盛,男,1978年3月6日出生在江西景德镇,毕业于山东工商学院信息管理与信息系统专业. 2003年加入3721公司.2005年加入奇虎360,带领团队打造了安全类软件360安全卫士.200 ...

  3. [luoguP2038] 无线网络发射器选址(模拟)

    传送门 又是个模拟水题,考虑边界就好,连long long都不用开. ——代码 #include <cstdio> #include <iostream> int n, d, ...

  4. hdu 5037 模拟网选1006

    /* 模拟 实例: 33 1 10 5 5 2 10 3 3 6 1 3 2 1 1 4 2 1 1 5 2 1 1 6 2 1 1 7 2 1 5 20 8 1 2 3 4 5 1 20 8 5 0 ...

  5. Mzc家中的男家丁

    题目背景 mzc与djn的…还没有众人皆知,所以我们要来宣传一下. 题目描述 mzc家很有钱(开玩笑),他家有n个男家丁,现在mzc要将她们全都聚集起来(干什么就不知道了).现在知道mzc与男家丁们互 ...

  6. SCOI2010第一场

    NOI2010全国青少年信息学奥林匹克竞赛 四川代表队选拔赛 第一场 题目名称 幸运数字 游戏 股票交易 英文代号 luckynumber game trade 时限 2秒 2秒 2秒 输入文件 lu ...

  7. codevs3410 别墅房间

    题目描述 Description 小浣熊松松到他的朋友家别墅去玩,发现他朋友的家非常大,而且布局很奇怪.具体来说,朋友家的别墅可以被看做一个N*M的矩形,有墙壁的地方被标记为’#’,其他地方被标记为’ ...

  8. spring boot jpa 事务管理

    spring boot 对jpa的支持极为方便,基本上不需要作太多配置,只需要加上注解就能支持事务: @Controller @Transactional(rollbackOn = Exception ...

  9. Regular Number 字符串匹配算法 Shift_and

    Using regular expression to define a numeric string is a very common thing. Generally, use the shape ...

  10. Just a Hook 线段树 区间更新

    Just a Hook In the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of t ...