一.准备工作
本场景将提供一台基础环境为CentOS的ECS(云服务器)实例和已经创建好的PolarDB数据库实例。我们将会在这台服务器上安装WordPress,帮助您快速搭建自己的云上博客。
参考:https://developer.aliyun.com/article/773856?spm=a2c6h.13148508.0.0.16a04f0enUyTSS
二.PolarDB背景知识
PolarDB是阿里云自研的下一代关系型云数据库,有三个独立的引擎,分别可以100%兼容MySQL、100%兼容PostgreSQL、高度兼容Oracle语法,存储容量最高可达100TB,单库最多可扩展到16个节点,适用于企业多样化的数据库应用场景。
PolarDB采用存储和计算分离的架构,所有计算节点共享一份数据,提供分钟级的配置升降级、秒级的故障恢复、全局数据一致性和免费的数据备份容灾服务。PolarDB既融合了商业数据库稳定可靠、高性能、可扩展的特征,又具有开源云数据库简单开放、自我迭代的优势,例如PolarDB MySQL性能最高可以提升至MySQL的6倍,而成本只有商用数据库的1/10。集群架构,计算与存储分离。
三.PolarDB产品优势
您可以像使用MySQL、PostgreSQL、Oracle一样使用PolarDB,此外,PolarDB还有传统数据库不具备的优势:
- 容量大。
最高100TB,您不再需要因为单机容量的天花板而去购买多个实例做分片,由此简化应用开发,降低运维负担。
- 高性价比。
PolarDB的计算与存储分离,每增加一个只读节点只收取计算资源的费用,而传统的只读节点同时包含计算和存储资源,每增加一个只读节点需要支付相应的存储费用。
PolarDB的存储空间无需手动配置,根据数据量自动伸缩,您只需为实际使用的数据量按小时付费。
为了更好地帮助您降低存储成本,PolarDB推出了预付费形式的存储包。当您的数据量较大时,推荐您使用PolarDB存储包,相比按小时付费,预付费购买存储包有折扣,购买的容量越大,折扣力度就越大。
- 分钟级弹性。
存储与计算分离的架构,配合共享存储,使得快速升级成为现实。
- 读一致性。
集群地址利用LSN(Log Sequence Number)确保读取数据时的全局一致性,避免因为主备延迟引起的不一致。
- 毫秒级延迟(物理复制)。
利用基于Redo的物理复制代替基于Binlog的逻辑复制,提升主备复制的效率和稳定性。即使对大表进行加索引、加字段等DDL操作,也不会造成数据库的延迟。
- 无锁备份。
利用存储层的快照,可以在60秒内完成对2TB数据量大小的数据库的备份,而且备份过程不会对数据库加锁,对应用程序几乎无影响,全天24小时均可进行备份。
四.创建PolarDB
1.用其他浏览器打开https://signin.aliyun.com/login.htm#/login
2.登录进阿里云控制台
- 在 阿里云控制台首页 左侧导航栏,依次单击 产品与服务 > 云数据库PolarDB ,进入 云数据库PolarDB管理控制台 。
- 单击左侧 集群列表 ,然后选择云产品资源提供的地域。例如:华东2(上海)。
- 创建数据库账号。
5.1. 在 集群列表 页面,单击 集群ID ,进入 集群详情界面 。
5.2.单击左侧导航栏 配置与管理 > 账号管理 。
5.3. 单击左上方 创建账号 。
5.4. 参考说明配置账号信息,然后单击 确定 。
- 数据库账号:输入数据库账号名称,例如:test_user 。
- 账号类型:此处选择普通账号。
- 密码:设置账号密码,例如:Password1213。
- 确认密码:再次输入密码。
- 创建数据库。
6.1.在实例详情页,单击左侧导航栏的 数据库管理 ,然后单击 创建数据库 。
6.2. 参考说明配置数据库信息,然后单击 创建 。
- 数据库(DB)名称:输入数据库名称,例如:pbootcms 。
- 支持字符集:默认设为utf8mb4。
- 授权账号:选择上一步创建的数据库账号test_user。
- 账号类型:默认设置为读写。
- 备注说明:非必填。用于备注该数据库的相关信息,便于后续数据库管理,最多支持256个字符。
- 设置数据库白名单。
连接数据库需要设置数据库白名单,点击 [集群白名单],然后点击 [设置] 设置数据库集群白名单。
在白名单界面将默认的白名单地址127.0.0.1更改为 0.0.0.0/0(设置为任何地址都能访问),然后点击 [确定] 使白名单地址生效。
五.连接ECS服务器
1.最简单的方法就是直接使用XShell连接ESC
六.安装LAMP环境(搭建在线web环境)
LAMP是指运行在Linux下的Apache、MySQL和PHP的环境。参考以下操作在云服务器上安装开发环境。
- 在ECS服务器上,执行以下命令安装Apache服务及其扩展包。
yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql
- PbootCMS是使用PHP语言开发的CMS系统。参考以下操作安装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。
依次执行
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
- 执行以下命令启动MySQL数据库。
systemctl start mysqld
七.搭建门户网站
- 在ECS服务器上,执行以下命令,安装Git。
yum -y install git
- 在ECS服务器上,执行以下命令下载PbootCMS源码文件。
cd ~ && git clone https://gitee.com/hnaoyun/PbootCMS.git
- 执行以下命令将安装包拷贝到Apache的wwwroot目录下。
如果是tomacat可以放到对应的tomcat的目录下面
cp -r PbootCMS/* /var/www/html/
- 执行以下命令修改站点根目录文件权限。
chmod -R a+w /var/www/html
- 向数据库中导入CMS的初始数据。
执行以下命令初始化数据库pbootcms的表结构和数据。
说明: 在执行命令前,请修改一下三个参数。
- 数据库连接地址参见集群详情页面下方链接地址板块。
- test_user为步骤二中创建的数据库账号。
- Password1213步骤二中创建的数据库密码。
地址就是左边申请的数据库地址:
修改数据库地址、用户、密码、数据库(记得修改前面通过PolarDB创建的数据库)
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-uf6o05f8e66pnu0m7.mysql.polardb.rds.aliyuncs.com -utest_user -pwW2452952178 -Duser_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' => '数据库连接地址', // PolarDB数据库链接地址
'user' => 'test_user', // PolarDB数据库的用户名
'passwd' => 'Password1213', // PolarDB数据库的密码
'port' => '3306', // 数据库端口
'dbname' => 'pbootcms' //数据库名称
)
);
EOF
例如:
cat > /var/www/html/config/database.php << EOF
<?php
return array(
'database' => array(
'type' => 'mysqli', // 数据库连接驱动类型: mysqli,sqlite,pdo_mysql,pdo_sqlite
'host' => 'pc-uf6o05f8e66pnu0m7.mysql.polardb.rds.aliyuncs.com', // PolarDB数据库链接地址
'user' => 'test_user', // PolarDB数据库的用户名
'passwd' => 'wW2452952178', // PolarDB数据库的密码
'port' => '3306', // 数据库端口
'dbname' => user_db//数据库名称
)
);
EOF
- 进入ECS控制台,在左侧导航栏,单击 本实例安全组 ,然后单击安全组的ID链接查看安全组配置。
- 访问程序。执行以下命令重启 Apache服务。
systemctl restart httpd
9.系统后台默认访问路径为http://公网IP地址>/admin.php。默认账号为admin,密码为123456。