nginx负载均衡数据库怎么做
关于nginx的安装我就不多说了,网上一搜一大把
需要注意的是,nginx在1.9版本之前是只能配置http协议的,不接受tcp协议的代理,所以nginx最常见的功能是服务器的负载均衡配置,大致流程如下: (推荐学习:nginx教程)
以TONCAT 的web服务器举例:
Nginx的作用主要就是分发请求,减少单个Tomcat的压力,从而达到提高服务器承载请求的能力(也就是能够处理高并发的情况服务器不会瘫痪)
使用Nginx配置mysql负载均衡与上述差不多,只不过TOMCAT将不再连接同一个数据库服务器,而是连接nginx,nginx分发请求给不同的数据库服务器。
需要注意的是,这种情况下,我为了保证TOMCAT拿到的数据是正确的,需要保证不同数据库之间的数据是同步的,我这次应用中使用的是mysql自带的同步功能,设置为主主同步(实际上就是多个主从同步)
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负载均衡数据库怎么做的详细内容,更多请关注其它相关文章!