nginx 流量拷贝模块 ngx_http_mirror_module 安装试用

1. 下载源码编译
https://nginx.org/download/nginx-1.13.4.tar.gz
 
2. 下载依赖模块包
   
  这里直接yum 安装
yum -y install openssl openssl-devel
yum -y install pcre-devel
 
3. 安装
 
 可以直接默认  ./configure
 我是为了添加https 以及状态监测模块,还有四层负载均衡,比较好的地方是这个模块是
直接内置里面的。
./configure --prefix=/usr/local/nginx –with-http_ssl_module    –with-http_stub_status_module  -with-stream
make  && make install
 
4.  使用
server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
 		   mirror /mirror; # 可配置多个
    	   mirror_request_body off;
           root html;
           mirror /mirror2;
           index index.html index.htm;
        }
       # mirror配置
        location /mirror {
          proxy_pass http://127.0.0.1:8080$request_uri;
          proxy_pass_request_body off;
          proxy_set_header Content-Length "";
          proxy_set_header X-Original-URI $request_uri;
        }
        location /mirror2 {
          proxy_pass http://127.0.0.1:8081$request_uri;
          proxy_pass_request_body off;
          proxy_set_header Content-Length "";
          proxy_set_header X-Original-URI $request_uri;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    server {
        listen       8080;
        server_name  localhost;
        location / {
            root   html2;
            index  index.html index.htm;
        }
    }
    server {
	listen       8081;
        server_name  localhost;
        location / {
            root   html3;
            index  index.html index.htm;
        }
    }
 
5. 启动测试即可
/sbin/nginx -t  
/sbin/nginx  
 
6. 价值
 
  流量拷贝、以前的方案可能有tcpcopy  openresty  capture_multi 等等,
  原生内置了,就是好用,希望openresty 也内置进去,配置capture_muilt 还是有
  点不是很方便,如果结合起来,那就太强大了。
 
7. 待确认
 
  性能,稳定性,以及生产环境使用的坑。
 
8. 参考资料
https://nginx.org/en/docs/http/ngx_http_mirror_module.html
 

posted on 2017-08-14 09:47  荣锋亮  阅读(1758)  评论(0编辑  收藏  举报

导航