把Lua编译进nginx步骤方法

(编辑:jimmy 日期: 2024/12/25 浏览:2)

Lua编译进nginx的方法

1、先安装lua-jit,网上说也可以下载lua,不过lua-jit效率比较高,地址:http://luajit.org/download.html
我下的是2.0.3版本的
下载解压后,直接make && make install就可以了,默认安装在/usr/local目录

2、下载ngx devel包
地址:https://github.com/simpl/ngx_devel_kit/tags
注意,这个是一个nginx的扩展,不需要编译

3、下载nginx的lua扩展

https://github.com/openresty/lua-nginx-module/archive/v0.9.8.tar.gz

4、导出两个变量

复制代码 代码如下:
export LUAJIT_LIB=/usr/local/lib
export LUAJIT_INC=/usr/local/include/luajit-<VERSION>

其中LUAJIT表示luajit的安装目录

5、接下来是编译nginx了

复制代码 代码如下:
 ./configure --prefix=/opt/nginxrw --with-http_gzip_static_module --with-http_stub_status_module
--with-http_ssl_module    --add-module=/data/src/lua-nginx-module-0.9.8  
--add-module=/data/src/ngx_devel_kit-0.2.19

其中两个--add-module表示lua的nginx模块和ngx devel包扩展

启动时,可能报某个库的路径找不到:

复制代码 代码如下:
sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory

用ldd命令可以看下某个二进制文件的引用的动态库

解决办法:
复制代码 代码如下:
echo "/usr/local/lib" /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig

ok,是不是编译成功了呢,开始编写lua脚本吧