OpenResty / Nginx模塊,Lua庫和相關資源的列表


OpenResty / Nginx模塊,Lua庫和相關資源的列表

什么是OpenResty

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM