一切源于一篇微信文章
早上我上着班,听着歌
突然微信推送了一篇文章《Nginx 实现动态封禁IP,详细教程来了》nginx动态封禁ip,然后手抽点进去看了看,然后。。。就打算实践验证一下。。没想到啊,遇到各种问题。。所以记录下。。。
1.打算使用腾讯云服务器centos-7实验:
安装lua-nginx-module
需要先安装LuaJIT,并依赖ngx_devel_kit。
安装LuaJIT
- LuaJIT — a Just-In-Time Compiler for Lua.
https://luajit.org/download.html
下面几个链接我都点进去看了看。。。
https://repo.or.cz/w/luajit-2.0.git
https://github.com/LuaJIT/LuaJIT/tags
https://luajit.org/status.html
所以决定下载2.0版本。
本机下载好后,上传服务器:
jelex@jelexxudeMacBook-Pro Downloads % scp LuaJIT-2.0.ROLLING.tar.gz root@我的tencent服务器ip:/opt
解压后:
安装:
[root@VM-24-5-centos LuaJIT-2.0.ROLLING]# make install PREFIX=/usr/local/LuaJIT
查看:
/etc/profile 文件末尾加入环境变量:
export LUAJIT_LIB=/usr/local/LuaJIT/lib
export LUAJIT_INC=/usr/local/LuaJIT/include/luajit-2.0
[root@VM-24-5-centos LuaJIT]# source /etc/profile
安装ngx_devel_kit
项目地址:https://github.com/simplresty/ngx_devel_kit
下载并解压,不需要安装:
https://github.com/vision5/ngx_devel_kit/releases/tag/v0.3.3
上传解压:
安装lua-nginx-module
项目地址:https://github.com/openresty/lua-nginx-module
下载并解压,不需要安装:
https://github.com/openresty/lua-nginx-module/tags
编译Nginx
需要安装pcre依赖库(这个服务器可能安装过。。。不管怎样,执行下)
$ yum install readline-devel pcre-devel openssl-devel
所以还需要去下载lua-nginx-module: https://github.com/openresty/lua-nginx-module
查看当前的配置:[root@VM-24-5-centos opt]# /usr/local/nginx/sbin/nginx -V
呃,对,我刚搞音视频,所以有dav, rtmp…
--prefix=/usr/local/nginx --with-http_ssl_module --with-http_dav_module --add-module=../nginx-rtmp-module-1.2.2 --add-module=../nginx-dav-ext-module-master --add-module=../headers-more-nginx-module-0.37
追加参数:
--with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-pcre --with-ld-opt=-Wl,-rpath,/usr/local/LuaJIT/lib --add-module=/opt/ngx_devel_kit-0.3.3 --add-module=/opt/lua-nginx-module-0.10.27
得到完整命令:
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_dav_module --add-module=../nginx-rtmp-module-1.2.2 --add-module=../nginx-dav-ext-module-master --add-module=../headers-more-nginx-module-0.37 --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-pcre --with-ld-opt=-Wl,-rpath,/usr/local/LuaJIT/lib --add-module=/opt/ngx_devel_kit