使用nginx Stream模块为mysql集群代理

环境说明

以下是我的实验环境情况,可根据自己情况选择自己熟悉的Ubuntu、Centos、Linux等系统做实验都可以
  1. 虚拟机1(系统: Ubuntu;IP: 192.168.91.131):已安装nginx v1.23.0

  1. 虚拟机2(系统: Centos;IP: 192.168.91.132):已安装mysql

  1. 虚拟机3(系统: Centos;IP: 192.168.91.133):已安装mysql

实验架构图说明

环境安装

虚拟机1安装nginx环境准备

  1. ssh到虚拟机1

ssh root@192.168.91.131
  1. 下载nginx1.23.0压缩包并解压

wget https://nginx.org/download/nginx-1.23.0.tar.gz
tar zxvf nginx-1.23.0.tar.gz
  1. 编译并安装nginx

cd nginx-1.23.0
./configure --prefix=/user/local/nginx --with-stream
make
make install
  1. 重启nginx

/user/local/nginx/sbin/nginx -s reload

虚拟机2和虚拟机3安装mysql准备

Centos7.9安装mysql步骤参考:https://juejin.cn/post/7208741162521542712

配置nginx代理mysql集群

  1. 更新 `/usr/local/nginx/nginx.conf` 文件,配置内容如下

注意: stream 和 http 同级
stream {
    upstream mysql {
        server 192.168.91.132:3306;
        server 192.168.91.133:3306;
    }

    server {
        listen 3306;
        proxy_pass mysql;
    }
}
  1. 重启nginx

# 测试nginx配置是否正确
/usr/local/nginx/sbin/nginx -t
# 重启nginx
/usr/local/nginx/sbin/nginx -s reload
  1. 通过虚拟机1的nginx代理访问mysql集群

mysql -uroot -p -h 192.168.91.131

如下图所示正常连接到集群

参考

https://guo365.github.io/study/nginx.org/en/docs/stream/ngx_stream_core_module.html

https://juejin.cn/post/7208741162521542712

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值