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...