安裝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 upgradenginx 新增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中文網其他相關文章!