使用 PolarDB 和 ECS 搭建门户网站
背景知识
PolarDB 数据库
简介
- 阿里云自研的下一代关系型云数据库
- 100%兼容MySQL、PostgreSQL,高度兼容Oracle语法
特点
集群架构,计算与存储分离
- PolarDB采用多节点集群的架构,集群中有一个Writer节点(主节点)和多个Reader节点(读节点),各节点通过分布式文件系统(PolarFileSystem)共享底层的存储(PolarStore)
读写分离
- 当应用程序使用集群地址时,PolarDB MySQL/PostgreSQL通过内部的代理层(Proxy)对外提供服务,应用程序的请求都先经过代理,然后才访问到数据库节点
- 代理层不仅可以做安全认证和保护,还可以解析SQL,把写操作(例如事务、UPDATE、INSERT、DELETE、DDL等)发送到主节点,把读操作(例如SELECT)均衡地分发到多个只读节点,实现自动的读写分离
- 对于应用程序来说,就像使用一个单点的MySQL数据库一样简单
1. 创建资源
- 在左侧点击
免费开通
,稍作等待即可,开通完成后就可以看到实验为我们提供的ECS服务器
2. 创建 PolarDB 数据库账号
- 点击左侧
一键复制url
,在浏览器中打开,输入子账户名称
和子账户密码
进行登录【注意:这里使用无痕模式或者使用另外一个浏览器打开,不要直接使用当前浏览器打开,因为登录后你当前登录账户就变成了子账户,当前主账号下的实例体验就会显示无资格】
- 登陆后,在左侧找到
云数据库PolarDB
点击打开
- 单击左侧
集群列表
,然后选择云产品资源提供的地域
- 创建数据库账号,点击
集群ID
,进入详情页面
- 点击
创建账号
- 创建数据库
- 设置数据库白名单(连接数据库需要)
3. 连接 ECS 服务器
- 连接实例提供的服务器,登录后如下
4. 安装 LAMP 环境
LAMP是指运行在Linux下的Apache、MySQL和PHP的环境
在 ECS 服务器上,安装 Apache 服务及其扩展包
- 命令:
yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql
- 命令:
安装 PHP
- 命令: `yum -y install php php-mysql gd php-gd gd-devel php-xml php-common php-mbstring php-ldap php-pear php-xmlrpc php-imap
`
下载并安装 MySQL
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server`
启动 MySQL 数据库
- 命令:
systemctl start mysqld
- 命令:
5. 搭建门户网站
安装 Git
- 命令:
yum -y install git
- 命令:
git 拉取 PbootCMS源码文件
- 命令:`cd ~ && git clone
https://gitee.com/hnaoyun/PbootCMS.git
`
将拉取下来的源码拷贝到 Apache 的 wwwroot 目录下
- 命令:`cp -r PbootCMS/* /var/www/html/
`
修改站点根目录文件权限
- 命令:
chmod -R a+w /var/www/html
- 命令:
向数据库中导入 CMS 的初始数据
- 数据库连接地址
- test_user:前面创建的数据库账号
- Password1213:创建的数据库密码
- pbootcms:前面创建的数据库名称
- 命令:`sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) &&
mysql -h数据库连接地址 -utest_user -pPassword1213 -Dpbootcms < $sql_file`
sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) &&
mysql -hpc-uf69z2j97kd5rcr17.mysql.polardb.rds.aliyuncs.com -utest_user -pPassword1213 -Dtest_db < $sql_file
- 修改CMS系统数据库配置
根据注释修改对应的参数
cat > /var/www/html/config/database.php << EOF
<?php
return array(
'database' => array(
'type' => 'mysqli', // 数据库连接驱动类型: mysqli,sqlite,pdo_mysql,pdo_sqlite
'host' => pc-uf660cuk0c49wd28c.mysql.polardb.rds.aliyuncs.com', // PolarDB数据库链接地址
'user' => 'test_user', // PolarDB数据库的用户名
'passwd' => 'Password123', // PolarDB数据库的密码
'port' => '3306', // 数据库端口
'dbname' => 'test_db' //数据库名称
)
);
EOF
- 安全组开放 22 和 80 端口
重启 Apache 服务
- 命令:
systemctl restart httpd
- 命令:
- 最后输入公网 IP 地址就可以进行访问了
- 输入
公网IP/admin.php
可以访问后台【默认用户名:admin,默认密码:123456】