Nginx均衡TCP协议服务器案例

Nginx在企业运维中通常用来均衡HTTP协议,例如我们熟知的80、8080、8081等服务。因为大部分的服务都是http请求访问协议,那有时候需要用到TCP协议,如果来实现均衡呢?

默认nginx不支持tcp的负载均衡,需要打补丁,(连接方式:从客户端收到一个连接,将从本地新建一个连接发起到后端服务器。)

接下来正式配置Nginx均衡TCP:

wget http://nginx.org/download/nginx-1.6.2.tar.gz

wget https://github.com/yaoweibin/nginx_tcp_proxy_module/archive/master.zip

源码主页: https://github.com/yaoweibin/nginx_tcp_proxy_module

分别下载两个软件包,然后unzip master.zip解压后如下图:

tar xvf nginx-1.6.2.tar.gz

cd nginx-1.6.2

patch -p1 </root/nginx_tcp_proxy_module-master/tcp.patch

./configure  --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/root/nginx_tcp_proxy_module-master

make

make install

编译完成后,如下图:(有TCP模块参数)

在nginx.conf配置http段之前添加:

tcp {

upstream cluster {

#simple round-robin

server 192.168.33.10:1234;

server 192.168.33.10:2345;

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

}

server {

listen 8888;

proxy_pass cluster;

}

}

如上配置之后,访问nginx 8888端口,默认会将请求转发到后端1234 和2345请求。

时间: 2024-10-02 14:57:41

Nginx均衡TCP协议服务器案例的相关文章

nginx的RTMP协议服务器

nginx的RTMP协议服务器 by ahuner 通过以下的配置,可以使nginx接收RTMP流,并在web上播放实时视频. 1.openssl安装 nginx需要http_ssl_module模块,需要openssl库. 下载opensll:http://www.openssl.org/ 最新稳定版本:openssl-1.0.1e 修改三个文件的代码,openssl-1.0.1e\test中的md2test.c.rc5test.c.jpaketest.c 将dummytest.c修改为#in

loadrunner测试TCP协议服务器性能

最近对服务器的性能感兴趣,于是开始研究了一阵子loadrunner如何做采用TCP协议交互的服务器的性能测试,对loadrunner不是很熟悉,所以一开始也走了一些弯路,现将学习的过程记录下来,为以后做参考吧. TCP协议的服务器的性能测试,我想大家都会选择loadrunner的winsocket协议进行测试,我也是采用此种方式.下面将逐一记录如何使用此协议做性能测试. 1.采用DLL文件方式进行测试 由于与服务器连接的客户端的DLL文件我手头有,同时其对应的头文件也有,所以一开始试想的是采用l

nginx代理tcp协议连接mysql

环境: ip 系统 服务 192.168.182.155 centos7.4 安装mariadb 192.168.182.156 centos7.4 安装nginx 一.mariadb安装及配置 1.1 在192.168.182.155安装mariadb yum install mariadb-server mariadb systemctl start mariadb #启动MariaDB systemctl stop mariadb #停止MariaDB systemctl restart

nginx 代理 tcp协议 mysql 连接

使用nginx代理mysql连接有个好处就是,如果做了容灾处理的话, 可以瞬间平滑切换到可用服务上. 1. vi /etc/nginx/nginx.conf ,在 http{} 结构体外(也就是文件末尾)添加如下配置: stream { upstream cloudsocket { hash $remote_addr consistent; # $binary_remote_addr; server 192.168.182.155:3306 weight=5 max_fails=3 fail_t

简单测试nginx1.90做TCP协议负载均衡的功能

最近工作中需要做TCP层面的负载均衡,以前网站用的反向代理nginx只支持应用层的负载均衡,对于TCP协议是无能为力的,需要使用LVS(linux虚拟服务器). LVS的特点是高性能和极复杂的配置.对网络环境的要求比较高.最近苦于LVS的配置测试,网上的文档和社区都比较少,按照各种教程配置,TCP报文均无法连通,再往下深究就要去研究公司虚机的网络结构了... 在寻找LVS配置调试方法时,看到一篇最近的文章讲4月28日刚刚发布的nginx1.90,添加了支持TCP协议的负载均衡的,如果只是需要做T

Nginx基于TCP/UDP端口的四层负载均衡(stream模块)配置梳理

Nginx基于TCP/UDP端口的四层负载均衡(stream模块)配置梳理 通常我们会用Nginx的upstream做基于http/https端口的7层负载均衡,由于Nginx老版本不支持tcp协议,所以基于tcp/udp端口的四层负载均衡一般用LVS或Haproxy来做.至于4层负载均衡和7层负载均衡的区别,可以参考:http://www.cnblogs.com/kevingrace/p/6137881.html.然而Nginx从1.9.0版本开始,新增加了一个stream模块,用来实现四层协

Nginx的TCP负载均衡介绍

Nginx Plus的商业授权版开始具有TCP负载均衡的功能.从Nginx 1.7.7版本开始加入的,现在变成了一个商业收费版本,想要试用,需要在官网申请.也就是说,Nginx除了以前常用的HTTP负载均衡外,Nginx增加基于TCP协议实现的负载均衡方法.HTTP负载均衡,也就是我们通常所有"七层负载均衡",工作在第七层"应用层".而TCP负载均衡,就是我们通常所说的"四层负载均衡",工作在"网络层"和"传输层&q

[转帖]Nginx 的 TCP 负载均衡介绍

https://www.cnblogs.com/felixzh/ 前几天同事问 nginx的代理 当时以为只有http的 现在看起来还有tcp的可以使用tcp 代理来做很多事情 还能节约一些修改工作量. Nginx除了以前常用的HTTP负载均衡外,Nginx增加基于TCP协议实现的负载均衡方法. HTTP负载均衡,也就是我们通常所有"七层负载均衡",工作在第七层"应用层".而TCP负载均衡,就是我们通常所说的"四层负载均衡",工作在"网

nginx搭建rtmp协议流媒体服务器总结

最近在 ubuntu12.04+wdlinux(centos)上搭建了一个rtmp服务器,感觉还挺麻烦的,所以记录下. 大部分都是参考网络上的资料. 前提: 在linux下某个目录中新建一个nginx目录. 然后进入该目录去下载搭建环境所需要的一些资源包. 此处在 /root/  目录下新建一个nginx目录即: /root/softsource/ 注意:依赖包和工具包需要下载,请在良好的网络环境下安装,否则在网速不好的情况下容易下漏掉,造成后面安装失败 ====================