首頁  >  文章  >  運維  >  Nginx如何新增lua模組

Nginx如何新增lua模組

WBOY
WBOY轉載
2023-05-25 11:28:061460瀏覽

安裝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刪除