參考:
http://www.ttlsa.com/nginx/nginx-modules-ngx_lua/
https://github.com/loveshell/ngx_lua_waf
1、安裝 LuaJIT
2、 安裝nginx
3、 安裝ngx_lua模塊
4、 安裝ngx_lua_waf模塊。
1、 安裝LuaJIT
wget http://luajit.org/download/LuaJIT-2.1.0-beta2.tar.gz tar –zxf LuaJIT-2.1.0-beta2.tar.gz –C /tmp cd /tmp/LuaJIT-2.1.0-beta2 make make install
修改/etc/profile,添加環境變量:
LUAJIT_LIB=/usr/loca/lib LUAJIT_INC=/usr/local/include/luajit-2.1 PATH=$LUAJIT_LIB:$LUAJIT_INC:$PATH
創建軟連接:
ln -sf /usr/local/bin/luajit-2.1.0-beta2 /usr/local/bin/luajit
2、 安裝nginx
wget http://nginx.org/download/nginx-1.10.1.tar.gz ./configure --prefix=/opt/nginx--add-module=/opt/lua-nginx-module/
3、 下載lua_ngx_module模塊
cd /opt git clone https://github.com/openresty/lua-nginx-module.git
Ngx_lua配置
location ~* ^/2328(.*) { default_type 'text/plain'; content_by_lua 'ngx.say("hello, tester")'; } Curl 測試下是否可以顯示 hello tester
4、配置ngx_lua_waf
nginx安裝路徑爲:/opt/nginx
把ngx_lua_waf下載到conf目錄下,解壓命名爲waf
在nginx.conf的http段添加
lua_package_path "/usr/local/nginx/conf/waf/?.lua"; lua_shared_dict limit 10m; init_by_lua_file /usr/local/nginx/conf/waf/init.lua; access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;
配置config.lua裏的waf規則目錄(一般在waf/conf/目錄下)
RulePath = "/opt/nginx/conf/waf/wafconf/"
絕對路徑如有變動,需對應修改
然後重啓nginx即可