编译安装Nginx Lua Module

2015-02-01 阅读: Nginx

使用lua-nginx-module可以把lua嵌入到nginx中,使用lua在nginx下开发一定的业务逻辑。

编译安装

首先编译安装LuaJIT。

LuaJIT使用JIT编译技术可以把Lua脚本直接编译成机器代码由CPU执行。

这里下载LuaJIT的源码。解压缩后进入源码目录:

make install PREFIX=/usr/local/luajit

接下来下载ngx_devel_kitlua-nginx-module的源码。

这里下载安装最新的ngx_devel_kit (NDK) module,并解压缩。

NDK是一个扩展Nginx服务器功能的模块,好多第三方的模块都是基于NDK的基础上开发的。

这里下载lua-nginx-module的源码,并解压缩。

下载nginx的源码,解压缩之后进入源码目录:

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

./configure \
    --with-http_ssl_module \
    --with-http_realip_module \
    --user=www \
    --group=www \
    --add-module=/path/to/ngx_devel_kit \
    --add-module=/path/to/lua-nginx-module
    
make
make install

启动nginx:

echo "/usr/local/luajit/lib" > /etc/ld.so.conf.d/usr_local_luajit_lib.conf
ldconfig

systemctl start nginx

验证安装

下面简单验证一下nginx lua module的安装。 修改nginx.conf:



location = /hello { 
	content_by_lua ' 
        	 ngx.say("helloworld")
	        ngx.log(ngx.INFO, "HelloWorld")
        '; 
}

location = /luaversion { 
	content_by_lua ' 
        	if jit then 
                	ngx.say(jit.version) 
            	else 
                	ngx.say(_VERSION) 
        	end 
        '; 
}

 
./nginx -t
./nginx -s reload

使用curl请求http://<hostname>/hello和http://<hostname>/luaversion确认能够输出结果

参考

标题:编译安装Nginx Lua Module
本文链接:https://blog.frognew.com/2015/02/lua-nginx-module.html
转载请注明出处。

目录