nginx 安装配置sregex replace-filter-nginx-module替换返向代理内容
replace-filter-nginx-module 替换示例
replace_filter '"msg":"(.*?)"' '"msg":"1"' 'ig';
#replace_filter '<div (.*?)>(.*?)</div>' '<br/>first div' 'ig';
replace_filter 'this is test (.*)<div class="name">' '</div><br/>last div' 'ig';
最后说一些可能会出现的问题
/usr/local/nginx/sbin/nginx: error while loading shared libraries: libsregex.so.0: cannot open shared object file: No such file or directory
对于上面这种问题,可以用下面方法解决
ldd /usr/local/nginx/sbin/nginx
确定问题后,如果是32位系统执行
ln -s /usr/local/lib/libsregex.so.0 /lib
如果是64位系统,执行
ln -s /usr/local/lib/libsregex.so.0 /lib64
第一步:安装依赖库
CentOS用这个
yum install make gcc pcre-devel zlib-devel openssl-devel git bison wget
Ubuntu用这个
sudo apt-get install gcc libpcre++-dev libssl-dev make git
第二步:下载所需nginx的扩展源码
mkdir -p /home/git/code cd /home/git/code git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module git clone https://github.com/agentzh/sregex git clone https://github.com/agentzh/replace-filter-nginx-module
第三步:安装sregex
cd /home/git/code/sregex make make install
第四步:到www.nginx.org官方下载最新稳定版
mkdir ~/down cd ~/down wget http://nginx.org/download/nginx-1.8.0.tar.gz tar zxvf nginx-1.6.2.tar.gz
第五步:编译安装
cd ~/down/nginx-1.6.2 ./configure --with-http_stub_status_module --with-http_ssl_module --with-http_spdy_module --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-ipv6 --add-module=/home/git/code/ngx_http_substitutions_filter_module --add-module=/home/git/code/replace-filter-nginx-module
执行编译安装
make make install
第六步:查看编译相关信息
/usr/local/nginx/sbin/nginx -V
如果看到下面的提示就对了
nginx version: nginx/1.6.2 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) TLS SNI support enabled configure arguments: --with-http_stub_status_module --with-http_ssl_module --with-http_spdy_module --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-ipv6 --add-module=/home/git/ngx_http_substitutions_filter_module --add-module=/home/git/replace-filter-nginx-module
第七步:启动与检查
当你执行下面语句时,没有任何返回,说明运行成功。
/usr/local/nginx/sbin/nginx
确定是否运行成功
netstat -anp |grep 80
如果结果中存在
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 712/nginx
说明成功了
再来看看712/nginx的具体路径
ps x |grep 712
如果结果是
712 ? Ss 0:00 nginx: master process /usr/local/nginx/sbin/nginx
可以看到路径/usr/local/nginx/sbin/nginx说明成功了
最后将
/usr/local/nginx/sbin/nginx
写入到
/etc/rc.local
让系统开机就自动启动nginx
最后说一些可能会出现的问题
/usr/local/nginx/sbin/nginx: error while loading shared libraries: libsregex.so.0: cannot open shared object file: No such file or directory
对于上面这种问题,可以用下面方法解决
ldd /usr/local/nginx/sbin/nginx
确定问题后,如果是32位系统执行
ln -s /usr/local/lib/libsregex.so.0 /lib
如果是64位系统,执行
ln -s /usr/local/lib/libsregex.so.0 /lib64
关于配置PHP方面的
请编辑下面文件(推荐vi或vim)
/usr/local/nginx/conf/nginx.conf
1:找到下面一段文字,大概在65行(vi/vim编辑器的可以使用:65到达)
#location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #}
将每一行前面的#符号都去掉
2:将其中的
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
改成
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
3:保存后,重新载入nginx配置文件
/usr/local/nginx/sbin/nginx -t /usr/local/nginx/sbin/nginx -s reload
4:创建phpinfo.php测试文件
/usr/local/nginx/html/phpinfo.php
内容为
<?php phpinfo();
5:运行php文件测试
http://127.0.0.1/phpinfo.php
请将127.0.0.1换成你服务器的IP地址,并在浏览器里打开查看。
配置参考
worker_processes 1; pid logs/nginx.pid; events{ worker_connections 1024; } http{ access_log off; include mime.types; sendfile on; client_body_temp_path temp/client_body_temp; fastcgi_temp_path temp/fastcgi_temp; scgi_temp_path temp/scgi_temp; uwsgi_temp_path temp/uwsgi_temp; proxy_temp_path temp/proxy_temp; server{ listen 0.0.0.0:80; server_name www.baidu.com; proxy_set_header Host www.baidu.com; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://www.baidu.com; } } server{ listen 0.0.0.0:80 default; root html; } }
via.http://www.360doc.com/content/17/0825/22/46795663_682146182.shtml
当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »
因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合AMP标准。