首先感谢alexazhou 开发的这个veryNginx的集成工具,给waf又添一新枝。VeryNginx 基于lua_Nginx_module(openrestry)
开发,实现了高级的防火墙、访问统计和其他的一些功能。集成在 Nginx 中运行,扩展了 Nginx 本身的功能,并提供了友好的 Web 交互界面。
下面为官方地址:
https://github.com/alexazhou/VeryNginx/blob/master/readme_zh.md
1.首先下载必备的安装软件:
因为veryNginx是基于Lua进行开发的,所以必须要安装Lua,可以到Lua的官网去下载这个软件:
http://luajit.org/download.html
然后下载由alexazhou提供的veryNginx的集成安装包:
https://github.com/alexazhou/VeryNginx下载好的两个安装包如下:
因为在alexazhou的python安装文件中已经自动执行下载openrestry以及安装,所以这里可以不必在进行下载:(当然如果python安装文件中的下载链接失效,可以自行下载然后放到VeryNginx-master.zip的目录中去。Python安装文件会自动进行检测,只要输入应答Y就可以继续安装。)
LuaJIT-2.0.4.tar.gz
VeryNginx-master.zip
2. 当必要的安装包下载好了以后,就可以开始着手安装了,因为我是需要把这个veryNginx的服务用docker来实现,所以就直接使用Dockerfile 来进行实现。
DOCKERFILE:
#To build the veryNginx for web firewall
FROM centos:latest
#to copy local dir to the container
COPY . /software
RUN yum -y install gcc make unzip wget openssl*
RUN mkdir -p /opt/veryNginx/openresty
RUN useradd Nginx
WORKDIR /software
RUN tar -zxvf LuaJIT-2.0.4.tar.gz \
&& unzip VeryNginx-master.zip
WORKDIR /software/LuaJIT-2.0.4
RUN make && make install
WORKDIR /software/VeryNginx-master
RUN python install.py install
WORKDIR /opt/veryNginx/openresty/Nginx/conf/
RUN echo "daemon off;" >> Nginx.conf
WORKDIR /software
RUN chmod 755 ngxstart.sh
EXPOSE 80
CMD ["/software/ngxstart.sh"]
Dockerfile的说明:
a. 要特别注意因为openresty是默认安装在/opt/veryNginx/openresty目录下面的,
所以这个目录必须要有,没有的话会报错。所以自行创建。
b. 注意yum –y installgcc make unzip wget openssl*
c. 当dockerfile的文件做好以后记得跟上面下载的两个安装包放在一个目录下面。
d. 再建立一个用于启动docker中Nginx服务的ngxstart.sh脚本:
#!/bin/bash/opt/veryNginx/openresty/Nginx/sbin/Nginx
然后将建立的这个ngxstart.sh的脚本也放在同一目录下面。
e. 最终在同一个目录下面将有这四个文件:
3.上面集合了4个文件,你可以将这四个文件打包成zip的文件,然后可以放到基于centos的任何目录下面,进行veryNginx 镜像的生成。
docker build –t xxxxxx veryNginx:v1
4.生成镜像以后,直接建立容器就可以提供服务了:
docker run –itd –p 9000:80 –restart=always –name=veryNginx veryNginx:v1/software/ngxstart.sh
5.接下来可以直接使用本地的浏览器进行web控制台的访问了:
默认的登录账号密码为:veryNginx veryNginx
登录后的样子:
到这里,veryNginx的容器服务就制作完成了。
接下来可以进行简单的配置: