编译安装Nginx Lua Module
2015-02-01
使用lua-nginx-module可以把lua嵌入到nginx中,使用lua在nginx下开发一定的业务逻辑。
编译安装 #
首先编译安装LuaJIT。
LuaJIT使用JIT编译技术可以把Lua脚本直接编译成机器代码由CPU执行。
从这里下载LuaJIT的源码。解压缩后进入源码目录:
1make install PREFIX=/usr/local/luajit
接下来下载ngx_devel_kit
和lua-nginx-module
的源码。
从这里下载安装最新的ngx_devel_kit
(NDK) module,并解压缩。
NDK是一个扩展Nginx服务器功能的模块,好多第三方的模块都是基于NDK的基础上开发的。
从这里下载lua-nginx-module的源码,并解压缩。
下载nginx的源码,解压缩之后进入源码目录:
1export LUAJIT_LIB=/usr/local/luajit/lib
2export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0
3
4./configure \
5 --with-http_ssl_module \
6 --with-http_realip_module \
7 --user=www \
8 --group=www \
9 --add-module=/path/to/ngx_devel_kit \
10 --add-module=/path/to/lua-nginx-module
11
12make
13make install
启动nginx:
1echo "/usr/local/luajit/lib" > /etc/ld.so.conf.d/usr_local_luajit_lib.conf
2ldconfig
3
4systemctl start nginx
验证安装 #
下面简单验证一下nginx lua module的安装。 修改nginx.conf:
1
2
3location = /hello {
4 content_by_lua '
5 ngx.say("helloworld")
6 ngx.log(ngx.INFO, "HelloWorld")
7 ';
8}
9
10location = /luaversion {
11 content_by_lua '
12 if jit then
13 ngx.say(jit.version)
14 else
15 ngx.say(_VERSION)
16 end
17 ';
18}
19
20
1./nginx -t
2./nginx -s reload
使用curl请求http://<hostname>/hello和http://<hostname>/luaversion确认能够输出结果