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

2023-02-12,,,,

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核心。

官方频道

网站:http://openresty.org/
邮件列表:https://groups.google.com/forum/#! forum / opennresty- en(中文列表)
Github组织:https://github.com/openresty
首席开发人员:@agentzh
OpenResty Package Manager(opm):包存储库,opm源
国内最可利用的文档:http://wiki.jikexueyuan.com/project/openresty/

模块

核心模块

核心模块捆绑在OpenResty包中。

ngx_openresty - 将Nginx变成一个成熟的Web应用服务器 - OpenResty Bundle Generation的来源
lua-nginx-module - 将Lua的强大功能嵌入到Nginx中
stream-lua-nginx-module - 将Lua的强大功能嵌入到Nginx流/ TCP服务器中
echo-nginx-module - 一个Nginx模块,用于为Nginx的配置文件带来“echo”,“sleep”,“time”等功能
xss-nginx-module - 对nginx中的跨站点脚本(XSS)的本机支持
set-misc-nginx-module - 将各种set_xxx指令添加到nginx的重写模块(md5 / sha1,sql / json引用等等)
encrypted-session-nginx-module - 加密和解密Nginx变量值
srcache-nginx-module - 任意nginx位置的基于透明子请求的缓存布局
lua-upstream-nginx-module - Nginx C模块,用于向Nginx上游的ngx_lua公开Lua API
headers-more-nginx-module - 设置并清除输入和输出标题...超过“添加”!
array-var-nginx-module - 将对数组变量的支持添加到nginx配置文件中
memc-nginx-module - 标准memcached模块的扩展版本,支持set,add,delete和更多memcached命令
redis2-nginx-module - Redis 2.0协议的Nginx上游模块
rds-json-nginx-module - 一个nginx输出过滤器,用于格式化由ngx_drizzle和其他人生成的Resty DBD Streams到JSON
rds-csv-nginx-module - 用于将Resty-DBD-Streams(RDS)转换为逗号分隔值(CSV)的Nginx输出过滤器模块
drizzle-nginx-module - 一个Nginx上游模块,它通过libdrizzle与mysql和细雨进行对话
ngx_postgres - 允许Nginx直接与PostgreSQL数据库通信的上游模块
form-input-nginx-module - 这是一个nginx模块,它读取在“application / x-www-form-urlencoded”中编码的HTTP POST和PUT请求体,并将请求体中的参数解析为nginx变量。
ngx_coolkit - 小而有用的nginx附加组件的集合
ngx_devel_kit - 一个Nginx模块,它添加了模块开发人员可以在自己的模块中使用的其他通用工具

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

核心Nginx模块

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

ngx_http_core_module
ngx_http_ssl_module - ngx_http_ssl_module模块为HTTPS提供必要的支持
ngx_http_v2_module - ngx_http_v2_module模块提供对HTTP / 2的支持
ngx_http_realip_module - ngx_http_realip_module模块用于将客户端地址和可选端口更改为在指定的头字段中发送的端口
ngx_http_addition_module - ngx_http_addition_module模块是一个过滤器,用于在响应之前和之后添加文本
ngx_http_xslt_module - ngx_http_xslt_module是一个使用一个或多个XSLT样式表转换XML响应的过滤器
ngx_http_image_filter_module - ngx_http_image_filter_module模块是一个过滤器,可以转换JPEG,GIF和PNG格式的图像
ngx_http_geoip_module - ngx_http_geoip_module模块使用预编译的MaxMind数据库创建具有取决于客户端IP地址的值的变量
ngx_http_sub_module - ngx_http_sub_module模块是一个过滤器,它通过用另一个指定的字符串替换一个指定的字符串来修改响应
ngx_http_dav_module - ngx_http_dav_module模块用于通过WebDAV协议实现文件管理自动化。该模块处理HTTP和WebDAV方法PUT,DELETE,MKCOL,COPY和MOVE
ngx_http_flv_module - ngx_http_flv_module模块为Flash Video(FLV)文件提供伪流服务器端支持
ngx_http_mp4_module - ngx_http_mp4_module模块为MP4文件提供伪流服务器端支持。此类文件通常具有.mp4,.m4v或.m4a文件扩展名
ngx_http_gunzip_module - ngx_http_gunzip_module模块是一个过滤器,它使用“Content-Encoding:gzip”解压缩响应,用于不支持“gzip”编码方法的客户端。当需要存储压缩数据以节省空间并降低I / O成本时,该模块将非常有用
ngx_http_gzip_static_module - ngx_http_gzip_static_module模块允许发送带有“.gz”文件扩展名的预压缩文件,而不是常规文件
ngx_http_auth_request_module - ngx_http_auth_request_module模块根据子请求的结果实现客户端授权
ngx_http_random_index_module - ngx_http_random_index_module模块处理以斜杠字符('/')结尾的请求,并在目录中选择一个随机文件作为索引文件
ngx_http_secure_link_module - ngx_http_secure_link_module模块(0.7.18)用于检查请求链路的真实性,保护资源免受未经授权的访问,并限制链路生存期
ngx_http_slice_module - ngx_http_slice_module模块是一个过滤器,它将请求拆分为子请求,每个子请求返回一定范围的响应
ngx_http_stub_status_module - ngx_http_stub_status_module模块提供对基本状态信息的访问
ngx_http_charset_module - ngx_http_charset_module模块将指定的字符集添加到“Content-Type”响应头字段
ngx_http_gzip_module - ngx_http_gzip_module模块是一个使用“gzip”方法压缩响应的过滤器
ngx_http_ssi_module - ngx_http_ssi_module模块是一个过滤器,用于处理通过它的响应中的SSI(服务器端包含)命令
ngx_http_userid_module - ngx_http_userid_module模块设置适合客户端识别的cookie
ngx_http_access_module - ngx_http_access_module模块允许限制对某些客户端地址的访问
ngx_http_auth_basic_module - ngx_http_auth_basic_module模块允许通过使用“HTTP基本身份验证”协议验证用户名和密码来限制对资源的访问
ngx_http_autoindex_module - ngx_http_autoindex_module模块处理以斜杠字符('/')结尾的请求,并生成目录列表
ngx_http_geo_module - ngx_http_geo_module模块使用取决于客户端IP地址的值创建变量
ngx_http_map_module - ngx_http_map_module模块创建的变量的值取决于其他变量的值
ngx_http_split_clients_module - ngx_http_split_clients_module模块创建适合A / B测试的变量,也称为拆分测试
ngx_http_referer_module - ngx_http_referer_module模块用于阻止对“Referer”头字段中具有无效值的请求访问站点
ngx_http_rewrite_module - ngx_http_rewrite_module模块用于使用PCRE正则表达式更改请求URI,返回重定向,并有条件地选择配置
ngx_http_proxy_module - ngx_http_proxy_module模块允许将请求传递到另一台服务器
ngx_http_fastcgi_module - ngx_http_fastcgi_module模块允许将请求传递给FastCGI服务器
ngx_http_uwsgi_module - ngx_http_uwsgi_module模块允许将请求传递给uwsgi服务器
ngx_http_scgi_module - ngx_http_scgi_module模块允许将请求传递给SCGI服务器
ngx_http_memcached_module - he ngx_http_memcached_module模块用于从memcached服务器获取响应
ngx_http_limit_conn_module - ngx_http_limit_conn_module模块用于限制每个定义密钥的连接数,特别是来自单个IP地址的连接数
ngx_http_limit_req_module - he ngx_http_limit_req_module模块用于限制每个定义密钥的请求处理速率,特别是来自单个IP地址的请求的处理速率
ngx_http_empty_gif_module - ngx_http_empty_gif_module模块发出单像素透明GIF
ngx_http_browser_module - ngx_http_browser_module模块创建的变量的值取决于“User-Agent”请求标头字段的值
ngx_http_upstream_module - http://nginx.org/en/docs/http/ngx_http_upstream_module.html
ngx_http_perl_module - ngx_http_perl_module模块用于在Perl中实现位置和变量处理程序,并将Perl调用插入SSI
ngx_mail_core_module
ngx_mail_ssl_module - ngx_mail_ssl_module模块为邮件代理服务器提供必要的支持,以使用SSL / TLS协议
ngx_mail_smtp_module
ngx_mail_imap_module
ngx_mail_pop3_module
ngx_stream_core_module
ngx_stream_ssl_module - ngx_stream_ssl_module模块为流代理服务器提供必要的支持,以使用SSL / TLS协议
ngx_stream_proxy_module - ngx_stream_proxy_module模块允许通过TCP,UDP和UNIX域套接字代理数据流

第三方Nginx模块

ngx_lua_ipc - Lua Nginx模块和OpenResty的进程间通信 - 在Nginx工作进程之间发送带有字符串数据的命名警报
nchan(Github) - 用于HTTP,长轮询,Websockets和EventSource(SSE)的快速,水平可伸缩,多进程发布/ 订阅队列服务器和代理
ngx_pagespeed(Github) - 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包中,您无需单独安装它们。

lua-resty-core - 用于ngx_lua模块的基于FFI的新Lua API
lua-resty-upstream-healthcheck - Pure Lua中Nginx上游服务器的健康检查程序
lua-resty-string - ngx_lua和LuaJIT的字符串实用程序和公共散列函数
lua-resty-lock - 基于共享内存字典的ngx_lua的简单非阻塞锁定API
lua-resty-lrucache - 基于LuaJIT FFI的Lua-land LRU Cache
lua-resty-dns - Nginx Lua模块的DNS解析器
lua-resty-resolver - 为ngx_lua和LuaJIT缓存DNS解析器
lua-resty-upload - 基于ngx_lua cosocket的HTTP文件上传的流式读取器和解析器
lua-resty-websocket - 用于ngx_lua模块的Lua WebSocket实现
lua-resty-mysql - 基于cosocket API的非阻塞Lua MySQL客户端驱动程序,用于ngx_lua
lua-resty-memcached - 基于cosocket API的nga_lua的Lua memcached客户端驱动程序
lua-resty-redis - 基于cosocket API的ngx_lua的Lua Redis客户端驱动程序
lua-redis-parser - Redis回复解析器并请求Lua的构造函数库
lua-rds-parser - 用C语言编写的Lua的Resty-DBD-Stream(RDS)解析器
lua-cjson - Lua cJSON是Lua的快速JSON编码/解析模块
lua-resty-shdict-simple - 简单的面向应用程序的OpenResty共享字典API接口
lua-resty-memcached-shdict - 具有shdict缓存层和许多其他功能的强大memcached客户端

网络框架

Lapis - Lapis是一个使用MoonScript或Lua构建Web应用程序的框架,它在Nginx的定制版本中运行,称为OpenResty
lor(Github) - 基于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-url - OpenResty的 URL解析器
lua-resty-cookie - 用于OpenResty / ngx_lua的HTTP cookie操作的Lua库
lua-resty-cors - OpenResty的跨源资源共享(CORS)实现
lua-resty-session - OpenResty实现安全Cookie协议的会话库
lua-resty-woothee - Project Woothee的Lua-Openresty实现,它是一个多语言用户代理字符串解析器
lua-resty-mobile - 此库解析HTTP标头并检测移动设备
lua-resty-jwt - 用于The Great OpenResty的JWT(JSON Web令牌)
neturl - Lua的URL和查询字符串解析器,构建器,规范化程序
Mio - 基于OpenResty的NGINX中的API统计/摘要和健康数据,就像NGINX Plus一样

路由库

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

请求分段解析器

lua-resty-reqargs - Helper检索application / x-www-form-urlencoded,multipart / form-data和application / json Request Arguments
lua-resty-post - 用于OpenResty的HTTP Post实用程序(文件上载帮助程序)
lua-resty-multipart-parser - OpenResty / Lua的简单多部分数据解析器
lua-resty-multipart - OpenResty的多部分解析库

中间件和API工具

Kong(GitHub) - KONG:微服务管理层(安全,管理和扩展您的API和微服务)
LSSO - Nginx + Lua的轻量级SSO中间件
apigateway - 基于Nginx和OpenResty的Performant API网关
3scale APIcast - Red Hat 3scale API Management的API网关模块
Sumory Orange - API网关
Monarch API Gateway - 基于OpenResty的API网关

模板

lua-resty-template - Lua和OpenResty的编译(HTML)模板引擎
lemplate - 实现Perl的TT2模板语言的OpenResty / Lua模板框架
etlua - 嵌入式Lua模板
liquid-lua - 用于OpenResty平台的Liquid的Lua实现
lua-resty-tmpl - Lua和OpenResty的简单模板引擎,源自lua-template。
Alternatives - 一些替代Lua模板解决方案可以与OpenResty一起使用

验证

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 - 希望我们可以删除此未来的评论)

加密

lua-resty-string - ngx_lua和LuaJIT的字符串实用程序和公共散列函数
lua-resty-nettle - 用于Nettle的LuaJIT FFI绑定(一个低级加密库)
lua-resty-chash - OpenResty / Lua的通用一致哈希实现
lua-resty-jump-consistent-hash - 为LuaJIT跳转一致哈希
lua-resty-letsencrypt - 使用LetsEncrypt CA自动获取和续订TLS证书。
lua-resty-auto-ssl - 使用Let的加密在OpenResty / nginx内进行即时(和免费)SSL注册和续订
lua-resty-peter_sslers - 基于来自缓存或后端json服务器的SNI自动加载/缓存SSL证书
lua-resty-murmurhash2 - LuaJIT MurmurHash 2绑定到Nginx / OpenResty murmurhash2实现
lua-resty-hmac - 用于制作和接收hmac签名请求的Lua驱动程序
lua-resty-scrypt - LuaJIT基于FFI的OpenResty scrypt库
lua-resty-xxhash - LuaJIT FFI绑定到xxHash,一种非常快速的非加密哈希算法
lua-resty-rsa - LuaJIT的 RSA功能
lua-resty-aead - 用于lua-nginx模块的AEAD密码库。仅限BoringSSL。
lua-resty-hawk - 使用Lua和OpenResty对Nginx进行Hawk身份验证
lua-resty-urandom - 用于Linux / BSD内核空间CSPRNG的缓冲包装器
lua-resty-fastpbkdf2 - Lua绑定到fastpbkdf2
lua-argon2-ffi - 用于Argon2密码哈希算法的LuaJIT FFI绑定
lua-resty-des - 用于进行DES ECB加密的Lua接口
WXBizMsgCrypt - 微信消息密码学的Lua版本

联网

LUA-resty-HTTP通过@pintsized -为lua HTTP客户端cosocket驱动OpenResty / ngx_lua
lua- resty-HTTP通过@liseen -基于cosocket API为ngx_lua Lua的HTTP客户端驱动程序
lua- resty-HTTP通过@DorianGray -基于cosocket API为ngx_lua Lua的HTTP客户端驱动程序
lua-resty-http-simple - 用于ngx_lua的简单Lua HTTP客户端驱动程序
lua-resty-httpipe - 用于OpenResty / ngx_lua的Lua HTTP客户端cosocket驱动程序
lua-resty-httpclient - 用于aLiLua&ngx_lua的非阻塞Lua HTTP客户端库
lua-httpcli-resty - 用于OpenResty的Lua HTTP客户端模块
lua-resty-requests - 另一个OpenResty的HTTP库
lua-resty-websocket - 用于ngx_lua模块的Lua WebSocket实现
lua-resty-mediador - 确定代理请求的地址并执行IP地址/ CIDR块处理(IPv4和IPv6)
lua-resty-iputils - 用于在OpenResty中处理IP地址的实用程序函数
lua-resty-readurl - 用于捕获URL,解码和记录结果的Lua库
lua-resty-dns-client - 包含DNS客户端,多个实用程序和负载均衡器的Lua库
lua-resty-upstream - 上游连接负载均衡和故障转移模块
lua-resty-checkups - 在纯ngx_lua中管理Nginx上游
lua-resty-socks5 - 基于cosocket API的ngx_lua的Lua SOCKS5客户端
lua-resty-waf - 基于OpenResty堆栈构建的高性能WAF
lua-resty-tarpit - OpenResty响应时间膨胀,捕获和延迟不需要的请求
lua-resty-jsonrpc-batch - 用于OpenResty的JSON-RPC 2.0批处理请求协议模块
lua-resty-limit-traffic - 用于限制和控制OpenResty / ngx_lua中流量的 Lua库
lua-resty-limits - 每秒或每分钟限制请求
lua-resty-fastcgi - 基于cosocket API的ngx_lua的Lua FCGI客户端驱动程序
lua-resty-ftpclient - 基于cosocket API的ngx_lua的Lua FTP客户端驱动程序
lua-capnproto - Cap'n Proto是一种疯狂快速的数据交换格式和基于功能的RPC系统
lua-resty-tornera - 一个流量重放工具,带有易于使用的HTTP API,适用于OpenResty / LuaJIT
lua-resty-consul - 与ngx_lua的consul HTTP API接口的库
lua-resty-healthcheck - 用于OpenResty的Healthcheck库,用于验证上游服务状态
lua-resty-balancer - OpenResty的通用一致哈希实现
lua-resty-sniproxy - 基于stream-lua-nginx-module的SNI代理
lua-resty-multiplexer - 流子系统的透明端口服务多路复用器
lua-resty-http2 - OpenResty的HTTP / 2协议(客户端)实现

数据库和存储

lua-resty-mysql - 基于cosocket API的非阻塞Lua MySQL客户端驱动程序,用于ngx_lua
lua-resty-mysql-connector - lua-resty-mysql的连接实用程序,支持读写分离,支持实例化不同的数据库
lua-resty-postgres - 用于ngx_lua的非阻塞Lua PostgreSQL驱动程序库
pgmoon - 用于OpenResy等的纯Lua Postgres驱动程序
lua-resty-couchbase - OpenResty CouchBase模块
lua-resty-couchdb - 使用nginx代理ngx.location_capture的Lua resty最小couchdb客户端
lua-resty-orm - OpenResty的简单ORM
lua-resty-mvc - 你不需要那个复杂的MVC框架!只有一个带有几个简单文件的普通文件夹,您可以享受基本但最常用的MVC功能。
lua-resty-memcached - 基于cosocket API的nga_lua的Lua memcached客户端驱动程序
lua-resty-redis - 基于cosocket API的ngx_lua的Lua Redis客户端驱动程序
lua-resty-redis-connector - 用于lua-resty-redis的连接实用程序,可以直接或通过Redis Sentinel轻松可靠地连接到Redis主机
resty-redis-cluster - 基于resty-redis-cluster的OpenResty Redis群集感知客户端
lua-resty-redis-cluster - OpenResty Redis集群客户端
lua-resty-redis-util - 基于lua-resty-redis并使Redis更容易操作
lua-cassandra - Pure Lua,功能丰富,支持群集的Cassandra客户端
lua-resty-cassandra - 使用CQL二进制协议的纯Lua Cassandra客户端
lua-resty-bloomd - 基于ngx_lua的客户端库,用于与bloomd服务器连接
lua-resty-riak -基于cosocket API的ngx_lua的Lua riak协议缓冲客户端驱动程序
lua-resty-moongoo - 用于OpenResty的MongoDB库,受Perl Mango的高度启发
lua-resty-mongol - Native Lua Mongodb驱动程序,它支持基于cosocket API的luasocket和ngx_lua
lua-resty-mongo - 基于cosocket API的ngx_lua的Lua mongodb客户端驱动程序
lua-mongo - 一个简单的Lua Mongo驱动程序(用于与co-socket工作的一个fork)
lua-resty-Influx - InfluxDB的OpenResty客户端
lua-telegraf - Telegraf / InfluxDB的Lua / OpenResty客户端
LUA-resty-kyototycoon通过@cloudflare -用于使用其天然丝协议KyotoTycoon的Lua客户端驱动程序(OpenResty / ngx_lua)
LUA-resty-kyototycoon通过@sjnam -使用其二进制协议用于KyotoTycoon的Lua客户端驱动程序
lua-resty-tarantool - 使用嵌入式Lua模块或OpeRresty与Nginx的Tarantool合作的库
lua-nginx-tarantool - Lua脚本中的NoSQL数据库驱动程序Tarantool基于快速nginx套接字构建
lua-resty-ssdb - 基于cosocket API的ngx_lua的Lua ssdb客户端驱动程序,SSDB是一个leveldb服务器
ledis-openresty - 基于cosocket API的ngx_lua的Lua LedisDB客户端驱动程序
lua-resty-fastdfs - 用于ngx_lua的非阻塞Lua FastDFS驱动程序库
lua-resty-statsd - OpenResty的StatsD客户端
lua-resty-dogstatsd - DogStatsD的客户端,是Datadog的StatsD度量服务器的扩展。使用nginx cosocket API
openresty-statsd - OpenResty的Lua模块,用于向StatsD发送指标
lua-resty-mogilefs - 基于cosocket API的ngx_lua的Lua mogilefs客户端驱动程序

测试和分析

Test :: Nginx - Nginx C模块和OpenResty Lua库开发的数据驱动测试支架(参见lua-resty-redis中的真实字测试)
nginx-systemtap-toolkit - 基于SystemTap的Nginx实时分析和诊断工具
stapxx - systemtap的简单宏语言扩展
FlameGraph - Flame图表是配置文件软件的可视化,可以快速准确地识别最频繁的代码路径
lua-resty-busted - 使用已破坏的测试OpenResty脚本
lua-resty-test - 基于OpenResty的测试框架
busted (Github)  - 优雅的Lua单元测试
Telescope (Github) - 望远镜是一个高度可定制的Lua测试库,允许使用嵌套上下文进行声明性测试

消息队列和任务管理

lua-resty-qless - Lua绑定到OpenResty的Qless(队列/管道管理)(另请参阅:使用OpenResty实现的Qless Web界面)
lua-resty-rabbitmqstomp - 使用cosocket api通过STOMP 1.2与RabbitMQ代理进行通信的Lua RabbitMQ客户端库,该代理具有STOMP插件
lua-resty-gearman - 基于cosocket API的ngx_lua的Lua gearman客户端驱动程序
lua-resty-kafka - 基于cosocket API的ngx_lua的Lua kafka客户端驱动程序
lua-resty-beanstalkd - 基于cosocket API的ngx_lua的Lua beanstalkd客户端驱动程序
lua-resty-ironmq - OpenResty的简单IronMQ客户端

条形码和QR码

lua-resty-QRcode - 用于ngx_lua的QR编码工具
lua-resty-QRDecode - ngx_lua的QR解码器

应用库

lua-resty-worker-manager - 跟踪工作进程和节点启动/重新启动/重新加载/停止
lua-resty-worker-events - Nginx工作进程的进程间事件
lua-resty-batch - 将nginx中的多个请求合并到一个子请求中
lua-resty-shell - 与OpenResty应用服务器一起使用的微小的非阻塞子进程/ shell库(使用sockproc)
lua-resty-exec - 非阻塞,非shell产生,流和非流子进程库(使用sockexec)
lua-resty-repl - 用于OpenResty和LuaJIT代码的交互式控制台(REPL)
lua-resty-fileinfo - LuaJIT FFI绑定到libmagic,魔术数字识别库 - 试图确定文件类型
lua-resty-base-encoding - 为OpenResty应用程序提供base32 / base16 / ...编码。
lua-resty-mime-sniff - 嗅探给定数据的真实MIME类型
lua-resty-taglib - 用于TagLib的LuaJIT FFI绑定 - 音频元数据库
lua-resty-uuid - libuuid的LuaJIT FFI绑定,一个兼容DCE的通用唯一标识符库
lua-resty-jit-uuid - 纯粹的LuaJIT(无依赖关系)uuid生成器针对性能进行了调整
lua-resty-unique-id - 用于为OpenResty生成唯一ID的Lua库
lua-resty-tsort - 对输入数据执行拓扑排序
lua-resty-postal - LuaJIT FFI绑定到libpostal - 一个快速的统计解析器/规范器,用于世界各地的街道地址。
lua-resty-libinjection - 用于libinjection的LuaJIT FFI绑定,一个SQL / SQLi标记器和分析器
lua-resty-socket - 自动LuaSocket / cosockets兼容模块
Inspect - Inspect是一个将任何Lua值转换为人类可读表示的库。它对于调试表中的错误特别有用。
lua- resty-maxminddb通过@ lilien1010 - LuaJIT FFI绑定官方libmaxminddb,以获取IP位置通过的MaxMind提供的IP数据库
lua- resty-maxminddb通过@ anjia0532 -一个Lua库读取的MaxMind的地理位置数据库格式(又名MMDB或geoip2)

日期和时间

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

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

压缩

lua-resty-zip - LuaJIT的 ZIP函数(压缩/解压缩)
lua-resty-snappy - 用于快速压缩器/解压缩器Snappy的LuaJIT FFI绑定
lua-resty-brotli - LuaJIT针对Google Brotli的FFI绑定
lua-resty-zstd - 使用FFI将LuaJIT绑定到Facebook Zstandard

文字格式

lua-resty-hoedown - LuaJIT FFI绑定到Hoedown,这是一个符合标准,快速,安全的Markdown Markdown处理库
lua-gumbo - 用于Gumbo HTML5解析库的Lua绑定,带有一组在纯Lua中实现的DOM API
lua-resty-sass - 用于libsass的LuaJIT FFI绑定 - 一个Sass编译器的AC / C ++实现(http://libsass.org/)
lua-resty-lanli - LuaJIT FFI绑定到Lanli HTML Sanitizer Library
lua-resty-ini - Lua INI文件解析器
lua-re2 - 用于RE2正则表达式库的C和Lua包装器。
lua-aho-corasick - C ++和Lua实现Aho-Corasick(AC)字符串匹配算法
lua-resty-json - Lua和C的JSON库(仅限解码器)。
lua-resty-libcjson - 用于OpenResty的基于FFI的LuaJIT cJSON库
lua-resty-prettycjson - Lua cJSON Pretty Formatter
lua-resty-jsonschema - https://github.com/tianchaijz/lua-resty-jsonschema
lua-laxjson - Lua绑定到一个轻松的流式JSON解析器,liblaxjson用于使用FFI的LuaJIT
lua-resty-utf8rewind - 用于utf8rewind的LuaJIT FFI绑定 - 用C编写的系统库,用于扩展默认字符串处理函数,支持UTF-8编码文本
lua-resty-unistring - 用于GNU libunistring的LuaJIT FFI绑定 - 一个Unicode字符串操作lIbrary(https://www.gnu.org/software/libunistring/)
lua-resty-htmlentities - 使用FFI绑定将实体反向移植到LuaJIT作为UTF-8解码器的实体
lua-resty-jsdecode - Javascript Escape Notation解码为UTF-8字节

二进制格式

lua-resty-msgpack - OpenResty的 Lua消息包
luajit-msgpack-pure - LuaJIT的 MessagePack(使用FFI,无绑定,V4 API)

文件格式

lua-resty-libxl - 用于OpenResty的LuaJIT基于FFI的LibXL(Excel)库
lua-resty-haru - 用于OpenResty的LuaJIT基于FFI的libHaru(PDF)库
lua-resty-hpdf - 用于OpenResty的基于FFI的LuaJIT libHaru(PDF)库

图像格式

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-gettext - 用于OpenResty的基于FFI的LuaJIT gettext库

高速缓存

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-resty-logger-socket - 基于原始套接字的Nginx记录器库(基于ngx_lua)
lua-nginx-logging - 用Lua编写的Nginx的日志实用程序
lua-resty-logger - OpenResty的自定义记录器库
lua-resty-rfc5424 - OpenResty中RFC5424(syslog)的实现
lua-resty-fluentd - Lua流利的基于cosocket API的ngx_lua记录器
lua-resty-fluent-logger - Fluentd的结构化记录器(OpenResty / ngx_lua)
raven-lua - Sentry的一个小型Lua接口,它还有一个有用的包装函数call(),它接受任意Lua函数(带参数)并执行它,捕获任何错误并自动报告给Sentry

编程

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的任何东西)

其他库

OpenResty Package Manager存储库
LuaRocks存储库(在LuaRocks中搜索resty库)
Github搜索lua-resty- *库,或最近更新的库
Lua工具箱
luapower - Lua,JIT,电池
可用的LuaJIT包列表
可用的LuaJIT FFI绑定列表

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

OpenResty / Nginx模块,Lua库和相关资源的列表的相关教程结束。

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

下载本文的Word格式文档,以方便收藏与打印。