nginx 学习笔记(一) nginx+Lua 安装

1、下载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

2、安装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

3、启动Nginx
进入nginx目录并启动
/usr/local/src/nginx/sbin/nginx

查看是否启动
ps aux|grep nginx

重启

切换到nginx 目录 sbin/nginx -s reload
查看nginx是否启动成功:访问nginx服务器的ip,出现nginx欢迎界面,表示启动成功

注意:需要关闭防火墙

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值