您现在的位置是:首页 > 文章详情

Nginx反代MySQL案例

日期:2017-03-22点击:548

案例:一个朋友要用Nginx代理MySQL(MySQL局域网),不用×××,不用NAT映射等,好吧,做个笔记。

Nginx版本:1.9.x(持tcp的负载均衡,nginx_tcp_proxy_module(姚伟斌阿里团队也可以实现))

Nginx官方模块: ngx_stream_core_module --with-stream_ssl_module(ssl协议支持,比如MySQL ssl)

官网:http://nginx.org/en/docs/stream/ngx_stream_core_module.html

1、查看现有编译

 --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module

2、重新编译:

http://nginx.org/download/

--user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module --with-stream --with-stream_ssl_module

注意:--with-stream --with-stream_ssl_module

3、配置、检测、重启nginx:

配置:

stream { upstream mysql { zone myapp1 64k; server localhost:3306 weight=1 max_fails=3 fail_timeout=30s; #server 192.168.1.221:3306 weight=1 max_fails=2 fail_timeout=30s;    } server {          listen 2188;          proxy_connect_timeout 1s;          proxy_timeout 3s;          proxy_pass mysql; } }

检测:

[root@autoCentos67X64 conf]# nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@autoCentos67X64 conf]#

启动:

[root@autoCentos67X64 conf]# netstat -atupn|grep nginx tcp        0      0 0.0.0.0:2188                0.0.0.0:*                   LISTEN      2359/nginx           [root@autoCentos67X64 conf]#

4、验证:(转载请保留:renzhiyuan.blog.51cto.com)

[root@log~]# mysql -uroot -prenzhiyuan -h 192.168.1.11 -P2188 Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.6.21-log MySQL Community Server (GPL) Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>

wKiom1jR9suCbYRlAABbQsAeBPM652.png-wh_50

注意:2188可是Nginx的端口,代理(负载)后端的MySQL。其它玩法大家可自己研究。

原文链接:https://blog.51cto.com/renzhiyuan/1909156
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章