阿里云ECS 7天训练营进阶班day04---使用PolarDB和ECS搭建门户网站

背景知识
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语法引擎。

产品优势

您可以像使用MySQL、PostgreSQL、Oracle一样使用PolarDB,此外,PolarDB还有传统数据库不具备的优势:

容量大。
最高100TB,您不再需要因为单机容量的天花板而去购买多个实例做分片,由此简化应用开发,降低运维负担。

高性价比。
PolarDB的计算与存储分离,每增加一个只读节点只收取计算资源的费用,而传统的只读节点同时包含计算和存储资源,每增加一个只读节点需要支付相应的存储费用。

PolarDB的存储空间无需手动配置,根据数据量自动伸缩,您只需为实际使用的数据量按小时付费。

为了更好地帮助您降低存储成本,PolarDB推出了预付费形式的存储包。当您的数据量较大时,推荐您使用PolarDB存储包,相比按小时付费,预付费购买存储包有折扣,购买的容量越大,折扣力度就越大。

分钟级弹性。
存储与计算分离的架构,配合共享存储,使得快速升级成为现实。

读一致性。
集群地址利用LSN(Log Sequence Number)确保读取数据时的全局一致性,避免因为主备延迟引起的不一致。

毫秒级延迟(物理复制)。
利用基于Redo的物理复制代替基于Binlog的逻辑复制,提升主备复制的效率和稳定性。即使对大表进行加索引、加字段等DDL操作,也不会造成数据库的延迟。

无锁备份。
利用存储层的快照,可以在60秒内完成对2TB数据量大小的数据库的备份,而且备份过程不会对数据库加锁,对应用程序几乎无影响,全天24小时均可进行备份。

创建PolarDB数据库账号
阿里云ECS 7天训练营进阶班day04---使用PolarDB和ECS搭建门户网站

**连接ECS服务器
**
阿里云ECS 7天训练营进阶班day04---使用PolarDB和ECS搭建门户网站
安装LAMP环境
LAMP是指运行在Linux下的Apache、MySQL和PHP的环境
在ECS服务器上,执行以下命令安装Apache服务及其扩展包
[root@iZuf62jchyefq2vg8f6w4lZ ~]# yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql
返回类似如下图结果则表示安装成功。
Installed:
httpd.x86_64 0:2.4.6-93.el7.centos httpd-manual.noarch 0:2.4.6-93.el7.centos mod_perl.x86_64 0:2.0.11-1.el7
mod_ssl.x86_64 1:2.4.6-93.el7.centos

PbootCMS是使用PHP语言开发的CMS系统。
执行以下命令,安装PHP。
[root@iZuf62jchyefq2vg8f6w4lZ ~]# 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。
[root@iZuf62jchyefq2vg8f6w4lZ ~]# wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
[root@iZuf62jchyefq2vg8f6w4lZ ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
[root@iZuf62jchyefq2vg8f6w4lZ ~]# yum -y install mysql-community-server

执行以下命令启动MySQL数据库。
[root@iZuf62jchyefq2vg8f6w4lZ ~]# systemctl start mysqld

搭建门户网站

安装Git
[root@iZuf62jchyefq2vg8f6w4lZ ~]# yum -y install git
下载PbootCMS源码文件
[root@iZuf62jchyefq2vg8f6w4lZ ~]# cd ~ && git clone https://gitee.com/hnaoyun/PbootCMS.git
Cloning into 'PbootCMS'...
remote: Enumerating objects: 8821, done.
remote: Counting objects: 100% (8821/8821), done.
remote: Compressing objects: 100% (7749/7749), done.
remote: Total 8821 (delta 5041), reused 1595 (delta 579), pack-reused 0
Receiving objects: 100% (8821/8821), 31.91 MiB | 15.54 MiB/s, done.
Resolving deltas: 100% (5041/5041), done.
将安装包拷贝到Apache的wwwroot目录下。
[root@iZuf62jchyefq2vg8f6w4lZ ~]# cp -r PbootCMS/* /var/www/html/
修改站点根目录文件权限。
[root@iZuf62jchyefq2vg8f6w4lZ ~]# chmod -R a+w /var/www/html

向数据库中导入CMS的初始数据
执行以下命令初始化数据库pbootcms的表结构和数据。
说明: 在执行命令前,请修改一下三个参数。
数据库连接地址参见集群详情页面下方链接地址板块。
test_user为步骤二中创建的数据库账号。
Password1213步骤二中创建的数据库密码。
user_db步骤二中创建的数据库名
[root@iZuf62jchyefq2vg8f6w4lZ ~]# sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) && mysql -hpc-uf65og4u014r79z32.mysql.polardb.rds.aliyuncs.com -utest_user -pPassword1213 -Duser_db < $sql_file

执行以下命令,修改CMS系统数据库配置。
说明: 在执行命令前,请根据参数说明替换您的数据库配置。
[root@iZuf62jchyefq2vg8f6w4lZ ~]# cat > /var/www/html/config/database.php << EOF

<?php
return array(

'database' => array(
    'type' => 'mysqli',
    'host' => 'pc-uf65og4u014r79z32.mysql.polardb.rds.aliyuncs.com', 
    'user' => 'test_user',
    'passwd' => 'Password1213', 
    'port' => '3306',
    'dbname' => 'user_db'
)

);
EOF

返回ECS控制台,在ECS实例列表页面,单击已创建的ECS实例ID链接进入ECS详情页。在左侧导航栏,单击 本实例安全组 ,然后单击安全组的ID链接查看安全组配置。
确保安全组开放了80端口访问,否则无法访问已搭建的门户网站。安全组是一种虚拟防火墙,具备状态检测和数据包过滤能力,用于在云端划分安全域。通过配置安全组规则,您可以控制安全组内一台或多台ECS实例的入流量和出流量。
阿里云ECS 7天训练营进阶班day04---使用PolarDB和ECS搭建门户网站

访问程序。

执行以下命令重启 Apache服务。
[root@iZuf62jchyefq2vg8f6w4lZ ~]# systemctl restart httpd
在浏览器地址栏输入云服务器的公网IP地址,进入门户网站首页。
系统后台默认访问路径为http://公网IP地址>/admin.php。默认账号为admin,密码为123456。
比如我的:

阿里云ECS 7天训练营进阶班day04---使用PolarDB和ECS搭建门户网站

阿里云ECS 7天训练营进阶班day04---使用PolarDB和ECS搭建门户网站
阿里云ECS 7天训练营进阶班day04---使用PolarDB和ECS搭建门户网站

上一篇:DevOps&SRE 超越传统运维之道 (上海站) 火热开启!


下一篇:《数据挖掘:实用案例分析》——1.3 信息类BI应用与知识类BI应用