Centos7 下使用Nginx实现mysql读负载均衡

一、环境

四台虚拟机centos7,mysql版本:mysql5.7

Mysql主:7.80

Mysq从1:7.81

Mysq从2:7.82

Nginx:7.83

二、前期工作

(参考Centos7下采用haproxy+keepalived搭建mysql高可用负载均衡)

1、关闭防火墙和SELINUX(4台虚拟机)

2、设置yum源(4台虚拟机)

3、安装mysql(7.80、7.81、7.82)

三、Mysql一主两从配置

(参考Centos7下采用haproxy+keepalived搭建mysql高可用负载均衡)

四、7.83安装nginx

(参照官网http://nginx.org/en/linux_packages.html#RHEL)

1、安装必备组件

sudo yum install yum-utils

2、设置yum存储库

请创建名为/etc/yum.repos.d/nginx.repo包含以下内容:

[nginx-stable]

name=nginx stable repo

baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

gpgcheck=1

enabled=1

gpgkey=https://nginx.org/keys/nginx_signing.key

module_hotfixes=true

[nginx-mainline]

name=nginx mainline repo

baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/

gpgcheck=1

enabled=0

gpgkey=https://nginx.org/keys/nginx_signing.key

module_hotfixes=true

3、默认情况下,使用稳定的nginx包的存储库。

如果您想使用主线nginx包,运行以下命令:(这里没有运行下列命令)

sudo yum-config-manager-enable nginx-mainline

4、安装nginx

sudo yum install nginx

5、配置nginx

在/etc/nginx/nginx.conf文件最后增加

stream{

   upstream mysql{

      server 192.168.7.81:3306;

      server 192.168.7.82:3306;

      #check interval=3000 rise=2 fall=5 timeout=1000;

      }

      server {

      listen 3306;

      proxy_pass mysql;

   }

}

重启nginx

sudo systemctl restart nginx

查看nginx运行状态

sudo systemctl status nginx

查看版本号:nginx -v(1.14.0)

查看模块:nginx -V(检查是否包含stream模块,--with-stream=dynamic)

五、测试

用navicat连接192.168.7.83:3306,然后多次查询 “SELECT @@server_id;” 可以看到查询服务器ID是在7.81和7.82之间切换的。

温馨提示:nginx负载均衡方式有多种,轮询 、weight 、ip_hash,这里选择的是轮询,具体请自行研究。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值