Nginx入门经典教程之nginx Lua用法
时间:2014-12-07 12:42 来源:linux.it.net.cn 作者:IT
什么是nginx lua?
nginx_lua_module是由淘宝工程师清无和春来所开发的Nginx第三方模块,能将Lua脚本嵌入到Nginx配置中,当然也可以在Nginx配置中调用脚本,从而让Nginx执行Lua脚本以高并发/非阻塞地处理各种请求。
一、安装
1、LuaJIT
执行如下命令安装LuaJIT:
#wget http://luajit.org/download/LuaJIT-2.0.2.tar.gz
#tar -xzvf LuaJIT-2.0.2.tar.gz
#cd LuaJIT-2.0.2
#make
#make install
2、Lua模块
#wget https://github.com/chaoslawful/lua-nginx-module/archive/v0.8.6.tar.gz
#tar -xzvf v0.8.6
3、Nginx
#wget http://nginx.org/download/nginx-1.4.2.tar.gz
#tar -xzvf nginx-1.4.2.tar.gz
#cd nginx-1.4.2
编译Nginx源码前要先导入环境变量,告诉Nginx去哪里找luajit
#export LUAJIT_LIB=/usr/local/lib
#export LUAJIT_INC=/usr/local/include/luajit-2.0
#./configure --prefix=/usr/local/nginx-1.4.2 --add-module=../lua-nginx-module-0.8.6
#make -j2
#make install
#ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2
二、配置
可以直接在Nginx配置文件直接嵌入Lua脚本代码,也可以调用Lua脚本文件。
1、直接嵌入脚本
location /hello {
default_type 'text/plain';
content_by_lua 'ngx.say("hello, lua")';
}
2、调用脚本文件
1)在Nginx根目录下,新建lua文件夹,并创建test_lua.lua脚本,脚本内容如下:
print "hello, lua"
2)修改nginx.conf配置文件
lua_code_cache off;
location /hello {
content_by_lua_file lua/test_lua;
}
上面的lua_code_cache off关掉lua加载cache,只为了方便测试时修改lua脚本后不需要重启Nginx,不是必须的。
三、测试
启动Nginx,用浏览器访问http://localhost/hello,即可看到hello, lua说明配置成功了。
关于Nginx与Lua之间的一些资料请参考如下链接:
http://wiki.nginx.org/HttpLuaModule
http://tengine.taobao.org/download/taobao_nginx_2012_06.pdf
http://agentzh.org/misc/slides/ngx-openresty-ecosystem.pdf
http://blog.zoomquiet.org/pyblosxom/oss/openresty-intro-2012-03-06-01-13.html
(责任编辑:IT)
什么是nginx lua? nginx_lua_module是由淘宝工程师清无和春来所开发的Nginx第三方模块,能将Lua脚本嵌入到Nginx配置中,当然也可以在Nginx配置中调用脚本,从而让Nginx执行Lua脚本以高并发/非阻塞地处理各种请求。
一、安装
#wget http://luajit.org/download/LuaJIT-2.0.2.tar.gz
#tar -xzvf LuaJIT-2.0.2.tar.gz #cd LuaJIT-2.0.2 #make #make install
2、Lua模块
#wget https://github.com/chaoslawful/lua-nginx-module/archive/v0.8.6.tar.gz
#tar -xzvf v0.8.6
3、Nginx
#wget http://nginx.org/download/nginx-1.4.2.tar.gz
#tar -xzvf nginx-1.4.2.tar.gz #cd nginx-1.4.2
编译Nginx源码前要先导入环境变量,告诉Nginx去哪里找luajit
#export LUAJIT_LIB=/usr/local/lib
#export LUAJIT_INC=/usr/local/include/luajit-2.0 #./configure --prefix=/usr/local/nginx-1.4.2 --add-module=../lua-nginx-module-0.8.6 #make -j2 #make install #ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2
二、配置
location /hello {
default_type 'text/plain'; content_by_lua 'ngx.say("hello, lua")'; }
2、调用脚本文件
print "hello, lua"
2)修改nginx.conf配置文件
lua_code_cache off;
location /hello { content_by_lua_file lua/test_lua; } 上面的lua_code_cache off关掉lua加载cache,只为了方便测试时修改lua脚本后不需要重启Nginx,不是必须的。
三、测试
关于Nginx与Lua之间的一些资料请参考如下链接: |