ECS训练营DAY4——使用PolarDB和ECS搭建门户网站
2020.09.26
背景知识
PolarDB是阿里云自研的下一代关系型云数据库,有三个独立的引擎,分别可以100%兼容MySQL、100%兼容PostgreSQL、高度兼容Oracle语法,存储容量最高可达100TB,单库最多可扩展到16个节点,适用于企业多样化的数据库应用场景。
PolarDB采用存储和计算分离的架构,所有计算节点共享一份数据,提供分钟级的配置升降级、秒级的故障恢复、全局数据一致性和免费的数据备份容灾服务。PolarDB既融合了商业数据库稳定可靠、高性能、可扩展的特征,又具有开源云数据库简单开放、自我迭代的优势,例如PolarDB MySQL性能最高可以提升至MySQL的6倍,而成本只有商用数据库的1/10。集群架构,计算与存储分离。
- 集群架构,计算与存储分离。
PolarDB采用多节点集群的架构,集群中有一个Writer节点(主节点)和多个Reader节点(读节点),各节点通过分布式文件系统(PolarFileSystem)共享底层的存储(PolarStore)。
- 读写分离。
当应用程序使用集群地址时,PolarDB MySQL/PostgreSQL通过内部的代理层(Proxy)对外提供服务,应用程序的请求都先经过代理,然后才访问到数据库节点。代理层不仅可以做安全认证和保护,还可以解析SQL,把写操作(例如事务、UPDATE、INSERT、DELETE、DDL等)发送到主节点,把读操作(例如SELECT)均衡地分发到多个只读节点,实现自动的读写分离。对于应用程序来说,就像使用一个单点的MySQL数据库一样简单。内部的代理层(Proxy)后续将支持PolarDB兼容Oracle语法引擎。
创建PolarDB数据库账号
- 产品服务->云数据库PolarDB->集群列表->云资源所在地域
- 集群列表->点击id进去详情
- 左侧导航栏->配置和管理->账号管理
- 创建账号,如图所示
- 数据库账号:输入数据库账号名称,例如:test_user 。
- 账号类型:此处选择普通账号。
- 密码:设置账号密码,例如:Password1213。
- 确认密码:再次输入密码。
创建数据库
- 在实例详情页,单击左侧导航栏的 数据库管理 ,然后单击 创建数据库
参考说明配置数据库信息,然后单击 创建
- 数据库(DB)名称:输入数据库名称,例如:pbootcms 。
- 支持字符集:默认设为utf8mb4。
- 授权账号:选择上一步创建的数据库账号test_user。
- 账号类型:默认设置为读写。
- 备注说明:非必填。用于备注该数据库的相关信息,便于后续数据库管理,最多支持256个字符。
- 设置数据库白名单
连接ECS服务器安装LAMP环境
- 在ECS服务器上,执行以下命令安装Apache服务及其扩展包。
yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql
- PbootCMS是使用PHP语言开发的CMS系统。参考以下操作安装PHP环境。
执行以下命令,安装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目录下。
cp -r PbootCMS/* /var/www/html/
- 执行以下命令修改站点根目录文件权限。
chmod -R a+w /var/www/html
- 向数据库中导入CMS的初始数据。
执行以下命令初始化数据库pbootcms的表结构和数据。
说明: 在执行命令前,修改一下三个参数。
- 数据库连接地址参见集群详情页面下方链接地址板块。
- test_user为步骤二中创建的数据库账号。
- Password1213步骤二中创建的数据库密码。
sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) &&
mysql -h数据库连接地址 -utest_user -p$password123 -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' => '$password123', // PolarDB数据库的密码
'port' => '3306', // 数据库端口
'dbname' => 'user_db' //数据库名称
)
);
EOF
- 打开ECS的80端口
- 访问程序。
执行以下命令重启 Apache服务。
systemctl restart httpd
在浏览器地址栏输入云服务器的公网IP地址,进入门户网站首页。
系统后台默认访问路径为http://<ECS公网IP地址>/admin.php
。默认账号为admin,密码为123456