OpenResty是一款基于基于NGINX和LuaJIT的Web平臺(tái)。提供了很多高質(zhì)量的第三方模塊。Web開發(fā)人員可以使用Lua腳本語言調(diào)動(dòng)Nginx支持的各種C及Lua模塊。
OpenResty是一個(gè)通過Lua擴(kuò)展NGINX實(shí)現(xiàn)的可伸縮的Web平臺(tái)。
OpenResty(也稱為 ngx_openresty)是一個(gè)基于Nginx與Lua的高性能Web平臺(tái),其內(nèi)部集成了大量精良的Lua庫、第三方模塊以及大多數(shù)的依賴項(xiàng)。用于方便地搭建能夠處理超高并發(fā)、擴(kuò)展性極高的動(dòng)態(tài)Web應(yīng)用、Web服務(wù)和動(dòng)態(tài) 網(wǎng)關(guān)。
OpenResty通過匯聚各種設(shè)計(jì)精良的Nginx模塊(主要由OpenResty團(tuán)隊(duì)自主開發(fā)),從而將Nginx有效地變成一個(gè)強(qiáng)大的通用Web應(yīng)用平臺(tái)。這樣,Web開發(fā)人員和系統(tǒng)工程師可以使用Lua腳本語言調(diào)動(dòng)Nginx支持的各種C以及Lua模塊,快速構(gòu)造出足以勝任10K乃至1000K以上單機(jī)并發(fā)連接的高性能Web應(yīng)用系統(tǒng)。
OpenResty的目標(biāo)是讓你的Web服務(wù)直接跑在Nginx服務(wù)內(nèi)部,充分利用Nginx的非阻塞I/O模型,不僅僅對(duì)HTTP客戶端請(qǐng)求,甚至于對(duì)遠(yuǎn)程后端諸如MySQL、PostgreSQL、Memcached以及Redis等都進(jìn)行一致的高性能響應(yīng)。
本候選版本的重點(diǎn)變更有:
基于 NGINX 最新主干核心版本 1.19.9。
從 Mike Pall 維護(hù)的的上游 LuaJIT 同步大量修改。
引入新的宏 LUAJIT_TEST_FIXED_ORDER,用于以固定順序遍歷 lua 表。
當(dāng) lua 請(qǐng)求內(nèi)存失敗時(shí),不是優(yōu)雅關(guān)閉,而是調(diào)用 abort()。
現(xiàn)在 get_ctx_table 支持使用來自調(diào)用者的 ctx 表,這將減少創(chuàng)建新 ctx 表的成本。
修正了使用 lua-tablepool 時(shí),清除 lua 表的內(nèi)容,metatable 沒有被清除的問題。
為了在使用 lua-tablepool 時(shí)獲得更好的性能,當(dāng)表格池的大小大于 max_pool_size 時(shí),丟棄對(duì)象。
為 stream 子系統(tǒng)實(shí)現(xiàn) ngx.process API。