在工作工作中有时会使用到TCP协议进行数据交互,通过nginx进行反向代理;

一、重新安装nginx

请参考本人安装nginx文章、

在安装的时候编译命令增加支持TCP协议的stream模块即可

./configure --prefix=/usr/local/nginx --with-stream

二、如果nginx已经在使用中则

首先查询当前nginx执行的编译命令/usr/local/nginx/sbin/nginx -V(注意V是大写)

-bash-4.2# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.9.4
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) 
configure arguments: --prefix=/usr/local/nginx

然后在以前命令后面增加--with-stream后,重新执行

./configure --prefix=/usr/local/nginx --with-stream

编译完成后执行命令

make

make install

执行make install后在nginx/sbin目录下会出现两个文件nginx  nginx.old,nginx.conf文件不会改变

然后在nginx.conf中增加tcp配置

stream{
    upstream tcpstream{
        hash $remote_addr consistent;
        server  127.0.0.1:8088 max_fails=3 fail_timeout=10s;  
    }
    server{
        listen 80;
        proxy_connect_timeout 20s;
        proxy_timeout 5m;
        proxy_pass tcpstream;
    }
}

主要stream和http是在同一级别上

然后重启即可

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐