开始前一定要切到root下否则后面export环境变量不会被识别。
Step1: 安装Lua(版本号:2.0.5)
wget -c 源地址:/download/LuaJIT-2.0.5.tar.gz
tar -xzvf LuaJIT-2.0.5.tar.gz
cd LuaJIT-2.0.5
make install PREFIX=/usr/local/LuaJIT
Step2: 安装nginx lua模块
先在nginx根目录下创建一个名为module的文件夹便于管理
(1)下载lua-nginx-module模块
mkdir module
cd module/
wget -c 源地址:/lua-nginx-module/tar.gz/v0.10.14
tar -xzvf v0.10.14
(2)下载ngx_devel_kit模块(一个拓展nginx服务器核心功能的模块,第三方模块开发可以基于它来快速实现。 NDK提供函数和宏处理一些基本任务,减轻第三方模块开发的代码量)
cd module/
wget -c 源地址:/simplresty/ngx_devel_kit/tar.gz/v0.3.1
tar -xzvf v0.3.1
Step3: 添加设置luaJit的环境变量
export LUAJIT_INC=/usr/local/LuaJIT/include/luajit-2.0
export LUAJIT_LIB=/usr/local/LuaJIT/lib
Step4: nginx升级
在配置lua后需要对原有的nginx进行升级后方可配置生效:
cd nginx-1.8.1
./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=/usr/local/nginx/module/ngx_devel_kit-0.3.1 --add-module=/usr/local/nginx/module/lua-nginx-module-0.10.14
make
make install
配置的时候不要忘记之前add-module的配置,第一遍安装时因为忘了加原先配过的rtmp,导致大量报错,因此实际的真实配置是:
./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=/home/troubleach/nginx-rtmp-module --add-module=
替换原有nginx
cd objs
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp nginx /usr/local/nginx/sbin/nginx
若此时启动nginx:
/usr/local/nginx/sbin/nginx时报错
error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory
说明编译时没有生成动态链接库,只能手动链接,编辑静态配置文件:
vim /etc/ld.so.conf.d/usr_local_lib.conf
并添加lua静态依赖库:
/usr/local/LuaJIT/lib
保存:
ldconfig
编辑nginx配置文件,定义lua库路径:
http{
...
lua_package_cpath '/usr/local/LuaJIT/lib/lua/5.1/?.so;;';
lua_package_path '/usr/local/LuaJIT/share/luajit-2.0.5/resty/?.lua;;';
...
server{
...
}
}
将nginx绝对路径配置到bin目录:
cp /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
此时再查看nginx版本,发现lua模块和devel kit都已经被配置进去了则说明配置成功。