实现代理mysql,nginx需要支持tcp的反向代理,还需要在编译时增加tcp代理模块支持,即nginx_tcp_proxy_module,该模块下载地址https://github.com/yaoweibin/nginx_tcp_proxy_module,具体操作如下
wget https://github.com/yaoweibin/nginx_tcp_proxy_module/archive/master.zipunzip master
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
patch -p1 < ../nginx_tcp_proxy_module-master/tcp.patch
./configure --add-module=../nginx_tcp_proxy_module-master --prefix=/usr/local/nginx-1.6.3 --with-http_stub_status_module --with-http_gzip_static_module
make
make install
如上即完成nginx的tcp模块的支持, 更改nginx配置文件加入如下配置
tcp {
upstream mysql{
server 192.168.0.51:3306 weight=1;
}
server {
listen 4478;
proxy_pass mysql;
}
重启nginx即可实现tcp的反向代理