一、下载Nginx及相关组件 wget http://nginx.org/download/nginx-1.14.0.tar.gz wget http://www.openssl.org/source/openssl-fips-2.0.10.tar.gz wget http://zlib.net/zlib-1.2.11.tar.gz wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz wget https://github.com/openresty/echo-nginx-module/archive/v0.61.tar.gz wget http://luajit.org/download/LuaJIT-2.0.5.tar.gz wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.1rc1.tar.gz wget https://github.com/openresty/lua-nginx-module/archive/v0.10.13.tar.gz 安装c++编译环境,如已安装可略过 [root@localhost src]# yum install gcc-c++ 期间会有确认提示输入y回车 Is this ok [y/N]:y 二、安装Nginx及相关组件 openssl安装 [root@localhost src]# tar zxvf openssl-fips-2.0.10.tar.gz [root@localhost src]# cd openssl-fips-2.0.10 [root@localhost openssl-fips-2.0.10]# ./config && make && make install 若出现提示须要安装Perl 5 Operating system: x86_64-whatever-linux2 You need Perl 5. 此时须要 查看Perl 5 官网查看最新版本 复制地址http://www.cpan.org/src/5.0/perl-5.24.0.tar.gz wget http://www.cpan.org/src/5.0/perl-5.24.0.tar.gz tar -xzf perl-5.24.0.tar.gz cd perl-5.24.0 ./Configure -des -Dprefix=$HOME/localperl // 根据实际地址存放 make make test make install echo安装 [root@localhost src]# tar zxvf echo-nginx-module-0.61.tar.gz [root@localhost src]# cd echo-nginx-module-0.61 [root@localhost echo-nginx-module-0.61]# ./config && make && make install pcre安装 [root@localhost src]# tar zxvf pcre-8.40.tar.gz [root@localhost src]# cd pcre-8.40 [root@localhost pcre-8.40]# ./configure && make && make install zlib安装 [root@localhost src]# tar zxvf zlib-1.2.11.tar.gz [root@localhost src]# cd zlib-1.2.11 [root@localhost zlib-1.2.11]# ./configure && make && make install 安装 LuaJIT-2.0.5 tar xzvf LuaJIT-2.0.5.tar.gz cd LuaJIT-2.0.5/ make && make install 解压 ngx_devel_kit tar zxvf v0.3.1rc1.tar.gz 解压 lua-nginx-module tar zxvf v0.10.13.tar.gz nginx安装 tar zxvf nginx-1.14.0.tar.gz cd nginx-1.14.0 配置nginx的configure,其中--prefix=/usr/local/src/nginx 表示将nginx安装到/usr/local/src/路径下,加载--with-pcre=/usr/local/src/pcre-8.40,因为pcre-8.40的安装目录为/usr/local/src/,其余模块加载都是同理。 ./configure --prefix=/usr/local/src/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-pcre=/usr/local/src/pcre-8.40 --with-stream --with-stream_ssl_module --with-http_auth_request_module --add-module=/usr/local/src/echo-nginx-module-0.61 --add-module=/usr/local/src/ngx_devel_kit-0.3.1rc1 --add-module=/usr/local/src/lua-nginx-module-0.10.13 安装ngx_lua_waf模块 为何安装lua模块,由于其已经实现了白名单、黑名单、防护CC攻击等功能。 wget https://github.com/loveshell/ngx_lua_waf/archive/v0.7.2.tar.gz tar zxf v0.7.2.tar.gz mv ngx_lua_waf-0.7.2 waf 将其放在安装好的/usr/local/src/nginx下面的conf下,而后切换到nginx的安装目录找到conf/nginx.conf配置,在http配置下加入 以下配置,其中的/usr/local/src/nginx/conf/waf改成实际安装目录 lua_package_path "/usr/local/src/nginx/conf/waf/?.lua"; lua_shared_dict limit 10m; #开启拦截cc攻击时须要设置此值 init_by_lua_file /usr/local/src/nginx/conf/waf/init.lua; access_by_lua_file /usr/local/src/nginx/conf/waf/waf.lua;#控制访问的规则 重启nginx。 注意:若出现/usr/local/src/nginx/sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory 执行 ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2 三、启动Nginx 进入nginx目录并启动 /usr/local/src/nginx/sbin/nginx 查看是否启动 ps aux|grep nginx 重启 切换到nginx 目录 sbin/nginx -s reload 查看nginx是否启动成功:访问nginx服务器的ip,出现nginx欢迎界面,表示启动成功 注意:须要关闭防火墙