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

来源:互联网 发布:python 月份加减 编辑:程序博客网 时间:2024/05/22 12:46

需求

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-mastermake     #敲黑板,不要make install!!!mv /usr/local/nginx/sbin/nginx  /usr/local/nginx/sbin/nginx.0719.oldcp 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

0 0