linux安裝lua_nginx_module模塊


  ngx_lua_module 是一個nginx http模塊,它把 lua 解析器內嵌到 nginx,用來解析並執行lua 語言編寫的網頁后台腳本,可以用來實現灰度發布。另外淘寶的OpenResty也可實現nginx對lua腳本的的解析,OpenResty相當於對nginx做了二次開發,里面集成了很多模塊,用起來,呵呵!本篇文章只說在linux中安裝lua_nginx_module模塊,並運行一個簡單的lua腳本控制nginx的Demo。
 
1.下載安裝LuaJIT 2.1(2.0或者2.1都是支持的,官方推薦2.1): http://luajit.org/download.html
cd /usr/local/src 
wget http://luajit.org/download/LuaJIT-2.1.0-beta2.tar.gz 
tar zxf LuaJIT-2.1.0-beta2.tar.gz 
cd LuaJIT-2.1.0-beta2 make PREFIX=/usr/local/luajit make install PREFIX=/usr/local/luajit
2.下載ngx_devel_kit(NDK)模塊 : https://github.com/simpl/ngx_devel_kit/tags,不需要安裝
cd /usr/local/src 
wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz 
tar -xzvf v0.2.19.tar.gz
3.下載最新的lua-nginx-module 模塊 : https://github.com/openresty/lua-nginx-module/tags,不需要安裝
cd /usr/local/src 
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.2.tar.gz 
tar -xzvf v0.10.2.tar.gz
4.設置變量
export LUAJIT_LIB=/usr/local/luajit/lib 
export LUAJIT_INC=/usr/local/luajit/include/luajit-2.1
5.nginx -V可查看已經編譯的配置(可在nginx -V得到的配置下重新安裝,下面還是采用的默認配置)
 
6.進入之前安裝nginx的解壓目錄,重新編譯安裝(引入LuaJIT並加入ngx_devel_kit-0.2.19和ua-nginx-module-0.10.2的目錄)
./configure --with-ld-opt="-Wl,-rpath,/usr/local/luajit/lib" --add-module=/usr/local/src/ngx_devel_kit-0.2.19 --add-module=/usr/local/src/lua-nginx-module-0.10.2
7.編譯安裝
make -j2 
make install
8.查看是否編譯成功
在/usr/local/nginx/conf/nginx.conf中加入如下代碼:
location /hello_lua { 
    default_type 'text/plain'; 
    content_by_lua 'ngx.say("hello, lua")'; 
}
9.殺死所有nginx進程並重啟(不重啟配置文件不生效)
killall nginx
/usr/local/nginx/sbin/nginx
10.訪問curl 127.0.0.1/hello_lua會出現”hello, lua”表示安裝成功
 
 
如果在啟動nginx時報錯:
nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory
ldconfig

 

 
參考資料:http://blog.csdn.net/qq_25551295/article/details/51744815


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM