什么是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之间的一些资料请参考如下链接: |