大家知道nginx属于七层架构,支持的是http协议,本身对tcp协议没有支持。所以不能代理mysql等实现负载均衡。

 

方法

在安装nginx的时候加入一个module nginx_tcp_proxy_module 就可以代理了

具体如下

1.下载module并解压

wget https://nodeload.github.com/yaoweibin/nginx_tcp_proxy_module/zipball/master

       2.进入nginx的解压目录里面 执行

patch -p1 < /path/to/nginx_tcp_proxy_module/tcp.patch

3.安装nginx负载下面的参数

./configure --add-module=/path/to/nginx_tcp_proxy_module

安装完成即可。

nginx.conf :

配置如下

image

  这个是最简单的 ,其实已经可以通过 nginx 访问mysql了

  代理memcache也是一样。修改 server即可

  负载均衡的话 ,只需要在server里面添加。