[size=1em]HttpLuaModule是淘宝开发的nginx的第三方模块,能将lua语言嵌入到nginx配置中 这里我主要记录日志作用,用来记录关于用户在网站上行为的到log日志中,lua同样作为脚本语言发挥更大作用,诸如通过redis中的数据,直接返回json等格式数据相应给用户,我这里主要是存放入log中,然后做数据ETL处理,如果访问量非常大,进行离线情况下Map-reduce的分析处理。
安装包下载 nginx 地址:http://www.nginx.orgluajit 地址:http://luajit.org/download.htmlHttpLuaModule 地址:http://wiki.nginx.org/HttpLuaModule1.安装luajitcd /usr/server/nginxwget http://luajit.org/download/LuaJIT-2.0.2.tar.gztar -xzvf LuaJIT-2.0.2.tar.gzcd LuaJIT-2.0.2makemake install2.安装nginxcd /usr/server/nginxwget http://nginx.org/download/nginx-1.4.7.tar.gztar -xzvf nginx-1.4.7.tar.gzcd nginx-1.4.73.导入环境变量export LUAJIT_LIB=/usr/local/libexport LUAJIT_INC=/usr/local/include/luajit-2.0export LD_LIBRARY_PATH=/usr/local/libLD_LIBRARY_PATH./configure --prefix=/usr/server/nginx \--conf-path=/usr/server/nginx/nginx.conf \--add-module=/usr/server/nginx/lua-nginx-module-0.8.6make -j2make install4.检查./sbin/nginx -t如果出现error: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory可能是./configure时--conf-path未配置,或者# ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.5.安装pcre安装nginx时,其实pcre第一步就要安装为了检查是否安装,可通过 ./configure --prefix=/usr/server/nginx --with-http_realip_module --with-http_sub_module --with-http_flv_module --with-http_dav_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_addition_module --with-http_ssl_module 6.测试安装成功cd /usr/server/nginx./sbin/nginx -t至于nginx其它命令可通./sbin/nginx -h常用的有./sbin/nginx -h help./sbin/nginx 启动./sbin/nginx -t check./sbin/nginx -s reload 重新加载./sbin/nginx -s quit 服务退出7.配置nginx.confcd /usr/server/nginx/confvi nginx.conflocation ~* ^/lua(/.*) { default_type 'text/plain'; content_by_lua 'ngx.say("hello,it's lua language")';}8.curl http://domail/lua/9.nginx对于代理、负载不在本章节讨论,其实蛮简单的10.在附件中提供nginx的lua语言用来扩展,记得联系下https://github.com/agentzh
|