一、nginx编译安装

1、下载源码包nginx-1.12.1,官网nginx.org
# wget http://nginx.org/download/nginx-1.12.1.tar.gz
2、解压源码包
#tar xf nginx-1.12.1.tar.gz
3、下载以下扩展module,保存到exp目录
  3.1 module 地址

module name

url

echo-nginx-module https://github.com/openresty/echo-nginx-module.git
lua-nginx-module https://github.com/openresty/lua-nginx-module.git
ngx_devel_kit https://github.com/simpl/ngx_devel_kit.git
set-misc-nginx-module https://github.com/openresty/set-misc-nginx-module.git
lua-upstream-nginx-module https://github.com/openresty/lua-upstream-nginx-module.git

3.2 创建module存放目录

   # cd nginx-1.12.1 && mkdir exp && cd exp 

  3.3 下载moudle
  # git clone https://github.com/openresty/echo-nginx-module.git
  # git clone https://github.com/openresty/lua-nginx-module.git
  # git clone https://github.com/simpl/ngx_devel_kit.git
  # git clone https://github.com/openresty/set-misc-nginx-module.git
  # git clone https://github.com/openresty/lua-upstream-nginx-module.git

4、下载openssl、pcre(pcre 7.9以下版本不支持UTF8,如果用到UTF8,需要下载7.9以上的版本)
4.1 扩展链接

扩展名

url

openssl https://www.openssl.org/source/old/1.0.2/openssl-1.0.2j.tar.gz
pcre https://sourceforge.net/projects/pcre/files/pcre/8.39/pcre-8.39.tar.bz2
 


4.2 下载
#wget https://sourceforge.net/projects/pcre/files/pcre/8.39/pcre-8.39.tar.bz2
#wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2j.tar.gz
4.3 解压到/usr/local
# tar xf  pcre-8.39.tar.bz2  -C /usr/local/
#tar xf openssl-1.0.2j.tar.gz -C /usr/local/


5、编译,注意红色标记信息,openssl、pcre指定的是源码目录,而不是编译安装完成后的目录

# export LUAJIT_LIB=/usr/local/luajit/lib&&export LUAJIT_INC=/usr/local/luajit/include/luajit-2.1&&./configure --prefix=/usr/local/nginx-1.12.1 --with-http_sub_module  --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --add-module=exp/echo-nginx-module/ --add-module=exp/lua-nginx-module/ --add-module=exp/ngx_devel_kit/ --add-module=exp/set-misc-nginx-module/ --add-module=exp/lua-upstream-nginx-module --with-openssl=/usr/local/openssl-1.0.2j/ --with-http_v2_module --with-cc-opt='-O2' --with-pcre=/usr/local/pcre-8.39/ --with-http_flv_module --with-http_mp4_module --with-threads --with-file-aio --add-module=exp/nginx-ct/ --with-pcre-jit

6、此时不能离开进行make,如果立刻进行make,make install之后,会导致nginx不能支持UTF8重写,原因是pcre没有启用UTF8,所以要在此处修改pcre,启用UTF8;configure之后,会在当前目录生成一个新目录obj,obj目录下有一个Makefile文件,保存第三方模块信息,需要修改此文件,在pcre处添加--enable-utf8 --enable-unicode-properties 这两个选项

修改前:obj/Makefile

 

修改后:obj/Makefile


7、编译
#make
8、安装
#make install

 

二、编译安装pcre

1、切换到pcre源代码目录
 #cd  /usr/local/pcre-8.39/

2、编译

#./configure  --enable-utf8 --enable-unicode-properties

3、编译

#make

4、安装

#make install

 

小结: 现在可以使用nginx,以及可以正常nginx调用pcre,实现各种正则过滤

参考链接(Nginx、PCRE和中文URL(UTF8编码)rewrite路径重写匹配问题):http://www.cnyou.org/post/205.html