您的位置:首页 > 理论基础 > 计算机网络

Nginx代理TCP请求模块添加及配置步骤

2016-12-14 16:50 387 查看

需求

Nginx 并不支持tcp协议,所以后端的一些基于TCP的业务就只能通过其他高可用负载软件来完成了,如Haproxy。但在1.90发布后增加了tcp代理模块,而老版本nginx需通过附加nginx_tcp_proxy_module实现TCP代理

环境

[root@nginx ~]#nginx -V
nginx version:nginx/1.6.0

built by gcc 4.4.720120313 (Red Hat 4.4.7-17) (GCC)

TLS SNI supportenabled

configurearguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module--with-ipv6

 

步骤

1.下载nginx_tcp_proxy_module-master.zip
https://github.com/yaoweibin/nginx_tcp_proxy_module
 2.解压
unzip nginx_tcp_proxy_module-master.zip

3.平滑添加TCP代理模块
patch -p1 < /root/nginx_tcp_proxy_module-master/tcp.patch

./configure --user=www --group=www--prefix=/usr/local/nginx --with-http_stub_status_module --with-ipv6--add-module=/root/nginx_tcp_proxy_module-master

make #敲黑板,不要make install!!!

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.0719.old

cp objs/nginx/usr/local/nginx/sbin/

make upgrade
4.验证

nginx -V

配置

在nginx.conf文件末尾,即http{}后添加

tcp {

                upstream search {

                server 10.45.149.215:8111;

                check interval=3000 rise=2 fall=5 timeout=1000;

                }

                server {

                        listen 8111;

                        proxy_pass search;

                }

}

 

配置检查

nginx -t平滑重启
/etc/init.d/nginx reload验证端口是否生效
netstat -nuplt

参考

http://yaoweibin.github.io/nginx_tcp_proxy_module/README.html#ngx_tcp_proxy_module
http://zhangge.net/4856.html https://github.com/yaoweibin/nginx_tcp_proxy_module
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx tcp