军哥的lnmp一键包(https://lnmp.org)算是在一键安装lnmp环境中非常好用的一个一键包,能帮助我们快速搭建起lnmp、lamp和lnmpa的web生产环境。但有的朋友可能需要使用openresty的lua扩展,这篇文章就会教你们怎么在军哥的一键包中为nginx安装openresty的lua扩展。

首先我们要先安装LuaJIT,为了稳定我选择的是稳定的2.0.4版本进行安装(我相信一个运维都懒得各种折腾各种修吧?)

cd /root 
wget -c http://luajit.org/download/LuaJIT-2.0.4.tar.gz
tar zxvf LuaJIT-2.0.4.tar.gz
make

等这条命令执行完了之后,我们要接着执行:

make install PREFIX=/usr/local/luajit

再等在执行完毕,我们要下载openresty的nginx-lua扩展和ngx_devel_kit,不过我们要注意的是nginx-lua扩展更新的比较频繁,要先记得上github上看看他新的版本号然后再修改:

cd ..
wget -c https://github.com/openresty/lua-nginx-module/archive/v0.10.7.tar.gz && tar zxvf v0.10.7.tar.gz
wget -c https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz && tar zxvf v0.3.0.tar.gz

接下来我们要对LuaJIT做一些系统环境设置:

export LUAJIT_LIB=/usr/local/luajit/lib
export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0

cat > /etc/ld.so.conf.d/luajit.conf<<EOF
/usr/local/luajit/lib
EOF

ldconfig

以上的命令依次执行,如果我们在安装了之后还要升级nginx的版本或者ngx_devel_kit、nginx-lua扩展、luaJIT中任何东西中的一种,以上的环境设置我们都还需要再重新执行一次才能正常升级。

接下来我们就要开始升级nginx版本了,在升级nginx版本之前,我们要在军哥的lnmp一键包目录下的lnmp.conf文件里的Nginx_Modules_Options加上编译参数:

--with-ld-opt=-Wl,-rpath,/usr/local/luajit/lib --add-module=/root/lua-nginx-module-0.10.7 --add-module=/root/ngx_devel_kit-0.3.0

加上以上这段参数之后,我们就使用军哥的lnmp一键包中的./upgrade.sh nginx升级脚本升级一遍nginx即可完成lua扩展的安装。可能有的朋友会问,版本号一定要比当前安装的版本号高么?我在这的回答是,并不用。

等重新编译完,nginx中就能使用lua扩展了。