使用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 [email protected]
  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

猜你喜欢

转载自blog.csdn.net/huangjuan0229/article/details/129618721