环境说明
以下是我的实验环境情况,可根据自己情况选择自己熟悉的Ubuntu、Centos、Linux等系统做实验都可以
- 虚拟机1(系统: Ubuntu;IP: 192.168.91.131):已安装nginx v1.23.0
- 虚拟机2(系统: Centos;IP: 192.168.91.132):已安装mysql
- 虚拟机3(系统: Centos;IP: 192.168.91.133):已安装mysql
实验架构图说明
环境安装
虚拟机1安装nginx环境准备
- ssh到虚拟机1
ssh root@192.168.91.131
- 下载nginx1.23.0压缩包并解压
wget https://nginx.org/download/nginx-1.23.0.tar.gz
tar zxvf nginx-1.23.0.tar.gz
- 编译并安装nginx
cd nginx-1.23.0
./configure --prefix=/user/local/nginx --with-stream
make
make install
- 重启nginx
/user/local/nginx/sbin/nginx -s reload
虚拟机2和虚拟机3安装mysql准备
Centos7.9安装mysql步骤参考:juejin.cn/post/720874…
配置nginx代理mysql集群
- 更新
/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;
}
}
- 重启nginx
# 测试nginx配置是否正确
/usr/local/nginx/sbin/nginx -t
# 重启nginx
/usr/local/nginx/sbin/nginx -s reload
- 通过虚拟机1的nginx代理访问mysql集群
mysql -uroot -p -h 192.168.91.131
如下图所示正常连接到集群