nginx 學習筆記(一) nginx+Lua 安裝

一、下載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歡迎界面,表示啓動成功

注意:須要關閉防火牆
相關文章
相關標籤/搜索