Nginx代理访问RDS
一、简单网络拓扑图
适用于RDS不能绑定公网IP地址。
二、安装配置nginx
1.安装nginx
yum install nginx
2.启动nginx
systemctl start nginx
3.配置nginx为开机启动
systemctl enable nginx
4.打开nginx配置文件
vim /etc/nginx/nginx.conf
在配置文件中在 http{} 结构体外新加如下配置:
stream { upstream cloudsocket { hash $remote_addr consistent; # $binary_remote_addr; server 10.128.40.14:3306 weight=5 max_fails=3 fail_timeout=30s; } server { listen 3306; #数据库服务器监听端口 proxy_connect_timeout 10s; proxy_timeout 300s; #设置客户端和代理服务之间的超时时间,如果5分钟内没操作将自动断开。 proxy_pass cloudsocket; } }
注:
1. 10.128.40.128是RDS的内网地址,可以通过和ECS在同一VPC下的ECS去ping RDS的连接地址,能够解析到内网IP地址。
2. ECS所在的安全组需开放对应的数据库监听端口,这里是监听3306端口。
5. 使配置文件生效
nginx -t
nginx -s reload
或者直接重启
systemctl restart nginx
6.查看断端口监听情况
netstat -lntp
三、使用navicat for mysql做测试
1.新建连接,选择mysql
2.填写参数
主机名为ECS的弹性IP。
账号为管控台上创建的账号,密码为账号对应的密码。
已成功连接RDS数据库。
四、使用命令行连接
一.Linux
1.安装mysql
yum install mysql -y
2.连接数据库
mysql -hIP地址 -P3306 -u账号 -p密码 -Dmytest
注:h表示主机,P表示端口,u表示账号,p表示密码,D表示数据库,-D可省略。
二.Windows
1.安装MySQL客户端,下载地址为:
https://dev.mysql.com/downloads/mysql/
2.把mysql路径添加到环境变量。
我的电脑--》右键属性--》高级系统设置--》环境变量--》系统变量
找到path编辑,新建环境变量。
3.使用命令连接RDS数据库。
mysql -hip地址 -P端口号 -u账号 -p密码 -Dmytest