OpenResty安裝 配置與使用

2021-09-19 06:10:56 字數 2651 閱讀 2715

openresty 是乙個基於 nginx 與 lua 的高效能 web 平台,其內部整合了大量精良的 lua 庫、第三方模組以及大多數的依賴項。用於方便地搭建能夠處理超高併發、擴充套件性極高的動態 web 應用、web 服務和動態閘道器。

lua是乙個簡潔、輕量、可擴充套件的程式語言,其設計目的是為了嵌入應用程式中,從而為應用程式提供靈活的擴充套件和定製功能。lua由標準c編寫而成,**簡潔優美,幾乎在所有作業系統和平台上都可以編譯,執行。

1.安裝依賴庫

yum install readline-devel pcre-devel openssl-devel gcc
wget 

tar xvf openresty-1.9.15.1.tar.gz

cd openresty-1.9.15.1

./configure --with-luajit && make && make install

啟用luajit

元件被用於構建 openresty。所有的元件可以被啟用或禁止。 大部元件預設是啟用的,也有部件不是。 luajit、 drizzlenginxmodule、postgresnginxmodule和iconvnginxmodule 預設是沒有啟用的。您需要通過以下選項在編譯 openresty的時候將它們各自啟用, --with-luajit、 --with-http_drizzle_module、 --with-http_postgres_module和 --with-http_iconv_module 。

安裝好的openresty

從上圖可以看到,openresty在/usr/local目錄下

通過下述方式啟動nginx。如果沒有任何輸出,說明啟動成功,-p 指定我們的專案目錄,-c 指定配置檔案。

/usr/local/openresty/nginx/sbin/nginx -c /usr/local/openresty/nginx/conf/nginx.conf

/usr/local/openresty/nginx/sbin/nginx -p 'pwd' -c /usr/local/openresty/nginx/conf/nginx.conf

為openresty下的nginx建立軟鏈(非必需)

ln -s /usr/local/openresty/nginx/sbin/nginx  /usr/sbin/nginx
則可使用如下方式啟動

/usr/sbin/nginx -c /usr/local/openresty/nginx/conf/nginx.conf
在瀏覽器中訪問:

由於原生的nginx日誌沒有resp_body這一選項,通過在nginx.conf中新增lua指令碼的方式定義resp_body。

檢測nginx配置是否正確

/usr/sbin/nginx -t
重啟nginx

/usr/sbin/nginx -s reload
驗證lua配置是否成功

openresty中文站

nginx-lua

lua-nginx-module

實踐證明,上面body_filter_by_lua中的**存在bug,可通過如下方式更正:

body_filter_by_lua '

local maxlen = 1000

ngx.ctx.buffered = ngx.ctx.buffered or ""

if #ngx.ctx.buffered < maxlen then

ngx.ctx.buffered = ngx.ctx.buffered .. string.sub(ngx.arg[1], 1, maxlen - #ngx.ctx.buffered)

endif ngx.arg[2] then

ngx.var.resp_body = ngx.ctx.buffered

end';

感謝openresty 中文郵件列

整理總結OpenResty安裝 配置與使用方法

openresty啟動 openresty配置lua openresty 是乙個基於 nginx 與 lua 的高效能 web 平台,其內部整合了大量精良的 lua 庫 第三方模組以及大多數的依賴項。用於方便地搭建能夠處理超高併發 擴充套件性極高的動態 web 應用 web 服務和動態閘道器。lua...

Jupyter Notebook裝配置與使用

按照以下順序操作命令即可 pip install upgrade pip pip公升級pip install jupyter 安裝jupyterjupyter notebook generate config 生成配置檔案vim root jupyter jupyter notebook confi...

PLSQL Developer安裝配置和使用

1 安裝 先將plsql developer 以及instantclient 11 2 複製到指定目錄解壓 2 在instantclient 11 2目錄下新建network admin tnsnames.ora檔案,並做以下配置 myoracle description address proto...