最新消息:本站访问过程中有任何问题请与我联系……

军哥lnmp编译nginx的源码安装subs_filter模块使用替换功能

技术教程 xx2008 195浏览 0评论

    使用nginx的(反-向/代=理)功能进行字符串替换,这是一个比较实用的功能,而nginx没有内置这个功能,需要使用第三方module,比如subs_filter。在nginx中配置module,需要将module的源码引入nginx的源码,自己编译nginx并安装。

一、下面记录一下从网上找到的其他教程,centos上编译并安装包含subs_filter替换模块的nginx的实际操作步骤。

1、如果centos上没有安装nginx,可以用yum安装一下,yum安装时会自动添加一些nginx的初始配置文件,比如/etc/rc.d/init.d/nginx,/etc/nginx/nginx.conf(自己编译安装时不会添加这些配置文件)。

yum install nginx

2、从 http://wiki.nginx.org/Install 的 #Source Releases 部分得到nginx的源码下载地址,下载解压。

wget http://nginx.org/download/nginx-1.8.0.tar.gz 
tar xf nginx-1.8.0.tar.gz

3、git签出subs_filter的源码(参考 nginx_substitutions_filter)。

git clone git://github.com/yaoweibin/ngx_http_substitutions_filter_module.git

(注:保存路径为/root/ngx_http_substitutions_filter_module)

4、nginx编译配置

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --with-stream --with-stream_ssl_module --add-module=/root/ngx_http_substitutions_filter_module 

最后的–add-module就是引入的subs_filter模块。

5、编译并安装nginx

make && make install

6、在/etc/nginx/nginx.config中配置subs_filter

 server
{
        listen 80;  listen [::]:80;
        server_name test.xxorg.com;  charset utf-8;           location / {
                proxy_pass http://tiqu.esudaa.com:80;  #设置反向代理头部,有时候源站响应的是gzip格式,替换的时候会有问题,可通过此项解决#  proxy_set_header Accept-Encoding deflate;  #指定字符串替换次数,on表示只替换第一次匹配到的字符,off表示替换所有匹配到的字符#  sub_filter_once off;  subs_filter 'www.esudaa.com</a>' '淘宝店</a>';  subs_filter 'E速达' '';

                proxy_redirect off;
                proxy_set_header        X-Real-IP       $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
                proxy_max_temp_file_size 0;
                proxy_connect_timeout 90;
                proxy_send_timeout 90;
                proxy_read_timeout 90;
                proxy_buffer_size 4k;
                proxy_buffers 4 32k;
                proxy_busy_buffers_size 64k;
                proxy_temp_file_write_size 64k;

        }
}

5)重启nginx服务

systemctl restart nginx

到此,编译nginx的源码安装subs_filter模块使用替换功能就已经实现了

二、运用在lnmp的安装中,修改lnmp的源码直接加入安装subs_filter模块(军哥lnmp为例)

1、仍然是先git出subs_filter模块的源码

git clone git://github.com/yaoweibin/ngx_http_substitutions_filter_module.git

(注:保存路径为/root/ngx_http_substitutions_filter_module)
2、修改lnmp源码,下载lnmp安装源码后,先不要运行

wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5

修改“/root/lnmp1.5/include/nginx.sh”中./configure后面的参数增加“–add-module=/root/ngx_http_substitutions_filter_module

然后保存nginx.sh再执行:

./install.sh lnmp

转载请注明:服务器VPS折腾 » 军哥lnmp编译nginx的源码安装subs_filter模块使用替换功能

声明:
1、注意经常备份站点数据,以防万一。
2、博客如果有需要输入密码的文章,请尝试输入"www.xxorg.com",不带双引号。
QQ 交流群:4197885 点击加入

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址