首頁 > 運維 > Nginx > 主體

Nginx如何新增lua模組

WBOY
發布: 2023-05-25 11:28:06
轉載
1459 人瀏覽過

安裝lua

wget http://luajit.org/download/luajit-2.0.5.tar.gz 
tar -zxvf luajit-2.0.5.tar.gz
cd luajit-2.0.5
make && make install prefix=/usr/local/luajit
登入後複製

etc/profile 加入

# lua
export luajit_lib=/usr/local/luajit/lib 
export luajit_inc=/usr/local/luajit/include/luajit-2.0
登入後複製

source etc/profile

#下載ngx_devel_kit 模組

wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz
登入後複製

ndk (nginx development kit) 模組是一個拓展nginx 伺服器核心功能的模組,第三方模組開發可以基於它來快速實現。 ndk 提供函數和巨集處理一些基本任務, 減輕第三方模組開發的程式碼量

##下載lua-nginx-module 模組

wget https://github.com/openresty/lua-nginx-module/archive/v0.10.9rc7.tar.gz
登入後複製

#lua-nginx- module 模組讓nginx 中能直接執行lua

查看原始編譯

nginx -v
登入後複製

如:

configure arguments: --user=www --group =www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module --with-http_v2_module

##nginx 原始目錄進入進入原始目錄進入:

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module --with-http_v2_module --add-module=/root/lua-nginx-module-0.10.9rc7/ --add-module=/root/ngx_devel_kit-0.3.0
登入後複製

只make,不執行make install。

編譯報錯應該是 lua 環境變數不對。

nginx -v 命令报错
./nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: no such file or directory

解决:
echo "/usr/local/luajit/lib" >> /etc/ld.so.conf

ldconfig
登入後複製

成功之後可以 nginx -v 查看,無報錯即可。

把原來的 nginx 備份為 nginx_old

cp objs/nginx 到原來的 nginx 並且覆寫。

在編譯目錄執行

make upgrade
登入後複製

nginx 新增lua 模組

##測試:

server{
 ...
 location /lua {
  default_type 'text/html';
  content_by_lua '
    ngx.say("hello, lua!")
  ';
 }
 ...
}
登入後複製
瀏覽器開啟:

http://blog.13sai.com/lua

可以看到hello, lua!

以上是Nginx如何新增lua模組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板