领导说“要有风控”,于是我们开始研究Nginx来做风控。
首先,自然是解决安装问题,找了下面几篇文章
http://www.cnblogs.com/yjf512/archive/2012/03/27/2419577.html
http://huoding.com/2012/08/31/156
先根据这些文章,看看是否可以顺利安装!
0)环境介绍
x.x.177.25
1) Lua编译器-LuaJIT
wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz
tar -zvxf LuaJIT-2.0.4.tar.gz
cd LuaJIT-2.0.4
make
make install
这样,安装的文件就在 lib和include是直接放在/usr/local/lib和usr/local/include
2) Nginx_Lua相关的所有模块文件准备
wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz
自己解压缩
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.2.tar.gz
tar -zvxf v0.10.2.tar.gz
3)nginx文件准备
wget http://nginx.org/download/nginx-1.10.0.tar.gz
tar -zvxf nginx-1.10.0.tar.gz
cd nginx-1.10.0
4)nginx安装
export LUAJIT_LIB=/usr/local/lib
export LUAJIT_INC=/usr/local/include/luajit-2.0
./configure --prefix=/opt/nginx --with-http_ssl_module --add-module=/root/ngx_lua/ngx_devel_kit-0.2.19 --add-module=/root/ngx_lua/lua-nginx-module-0.10.2
make -j2
make install
===========================================================
5)测试Nginx是否安装成功
/opt/nginx/sbin/nginx --- 启动 Nginx
此时使用的配置文件为 /opt/nginx/conf/nginx.conf
然后会报错: ./sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object
解决方案见:
http://www.bkjia.com/xtzh/980279.html
其实就是:
echo "/usr/local/lib" >>/etc/ld.so.conf ldconfig
然后访问I:80 就可以看到下面的界面,表示安装成功!
6)测试Nginx是否支持Lua
如何测试呢?我们可以写一个小例子如下:
nginxconfig中加入
location /hello {
default_type 'text/plain';
content_by_lua 'ngx.say("hello, lua")';
}
使用/to/nginx/sbin/nginx –t 检查nginx配置,此时应该没有报错
/to/nginx/sbin/nginx #启动nginx
或者/to/nginx/sbin/nginx –s reload #重启nginx
http://ip:port/hello
会出现"hello,lua"
7)关闭Nginx
http://www.cnblogs.com/jianxie/p/3990377.html
从容停止 kill -QUIT 主进程号
附录:参考资料
http://www.cnblogs.com/zhuhongbao/archive/2013/06/04/3118061.html
http://www.ttlsa.com/nginx/nginx-and-lua/ 有讲到redis缓存的使用。
https://github.com/openresty/lua-nginx-module --- 淘宝出品
https://github.com/openresty/lua-nginx-module/releases
https://www.nginx.com/resources/wiki/modules/lua/ --- 官方介绍