nginx负载均衡数据库怎么做

(*-*)浩
(*-*)浩 原创
2019-11-01 11:46:19 2895浏览

关于nginx的安装我就不多说了,网上一搜一大把

需要注意的是,nginx在1.9版本之前是只能配置http协议的,不接受tcp协议的代理,所以nginx最常见的功能是服务器的负载均衡配置,大致流程如下: (推荐学习:nginx教程

以TONCAT 的web服务器举例:

nginx-4.png

Nginx的作用主要就是分发请求,减少单个Tomcat的压力,从而达到提高服务器承载请求的能力(也就是能够处理高并发的情况服务器不会瘫痪)

使用Nginx配置mysql负载均衡与上述差不多,只不过TOMCAT将不再连接同一个数据库服务器,而是连接nginx,nginx分发请求给不同的数据库服务器。

需要注意的是,这种情况下,我为了保证TOMCAT拿到的数据是正确的,需要保证不同数据库之间的数据是同步的,我这次应用中使用的是mysql自带的同步功能,设置为主主同步(实际上就是多个主从同步)

nginx-5.png

mysql负载均衡的配置也是十分简单:

在nginx.conf文本最后一行添加下述代码即可:

stream {
    server {
       listen 3306;
       proxy_pass db;    
    }
    upstream db {
       server 192.168.18.130:3305;
       server 192.168.18.129:3305;
    }
 
}

需要说明的是,上述配置中监听了3306端口,即3306端口将被nginx占用,而mysql的默认使用端口为3306,这将导致mysql无法启动,所以需要将mysql的端口号改为其他端口(本文中将其设置成3305,这将会在mysq主主同步的博文中说明),proxy_pass即为代理地址

以上就是nginx负载均衡数据库怎么做的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。