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

原文地址:https://www.cnblogs.com/yzg-14/p/13874328.html