ECS7天实践训练营——基于PolarDB和ECS实现搭建门户网站

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
简介: 本文利用阿里云ECS资源与PolarDB数据库,利用已有的资源搭建简易的门户网站,并对结果进行了记录

〇、背景知识

PolarDB数据库简介:

PolarDB是阿里云自研的下一代关系型云数据库,有三个独立的引擎,分别可以100%兼容MySQL、100%兼容PostgreSQL、高度兼容Oracle语法。

PolarDB采用存储和计算分离的架构,所有计算节点共享一份数据,提供分钟级的配置升降级、秒级的故障恢复、全局数据一致性和免费的数据备份容灾服务。

PolarDB特点:

  • 集群架构,计算与存储分离:PolarDB采用多节点集群的架构,集群中有一个Writer节点(主节点)和多个Reader节点(读节点),各节点通过分布式文件系统(PolarFileSystem)共享底层的存储(PolarStore)。
  • 读写分离:当应用程序使用集群地址时,PolarDB MySQL/PostgreSQL通过内部的代理层(Proxy)对外提供服务,应用程序的请求都先经过代理,然后才访问到数据库节点。代理层不仅可以做安全认证和保护,还可以解析SQL,把写操作发送到主节点,把读操作均衡地分发到多个只读节点,实现自动的读写分离。

PolarDB优势:

  • 容量大:支持最高100TB,由此简化应用开发,降低运维负担。
  • 高性价比:PolarDB的计算与存储分离,每增加一个只读节点只收取计算资源的费用,而传统的只读节点同时包含计算和存储资源,每增加一个只读节点需要支付相应的存储费用。
  • 分钟级弹性:存储与计算分离的架构,配合共享存储,使快速升级成为现实。
  • 读一致性:集群地址利用LSN(Log Sequence Number)确保读取数据时的全局一致性,避免因为主备延迟引起的不一致。
  • 毫秒级延迟(物理复制):利用基于Redo的物理复制代替基于Binlog的逻辑复制,提升主备复制的效率和稳定性。即使对大表进行加索引、加字段等DDL操作,也不会造成数据库的延迟。
  • 无锁备份:利用存储层的快照,可以在60秒内完成对2TB数据量大小的数据库的备份,而且备份过程不会对数据库加锁,对应用程序几乎无影响,全天24小时均可进行备份。

一、 创建ECS资源与PolarDB数据库

  1. 在阿里云中创建好体验ECS资源,用提供的用户名和密码登录后台的管理控制台
    image-20200926161629627
  2. 在左侧导航栏,选择【产品与服务】>【云数据库PolarDB】,进入云数据库管理控制台

image-20200926161714866

  1. 集群列表界面,点击集群ID,进入集群详细页面

image-20200926161856647

image-20200926161912820

  1. 选择左侧导航栏的【配置与管理】>【帐号管理】,单击创建帐号选项

image-20200926161943053

  1. 按如下说明配置帐号信息

    • 数据库账号:输入数据库账号名称
    • 账号类型:此处选择普通账号
    • 密码:设置账号密码
    • 确认密码:再次输入密码。

image-20200926162146811

  1. 创建好帐号后,选择左侧导航栏的数据库管理,点击创建数据库

image-20200926162321941

  1. 按如下说明配置数据库信息

    • 数据库(DB)名称:输入数据库名称
    • 支持字符集:默认设为utf8mb4。
    • 授权账号:选择上一步创建的数据库账号。
    • 账号类型:默认设置为读写。
    • 备注说明:非必填,用于备注该数据库的相关信息

image-20200926162527077

  1. 设置数据库白名单,选择左侧集群白名单,点击配置

image-20200926162756771

  1. 在白名单界面将默认的白名单地址127.0.0.1更改为 0.0.0.0/0

image-20200926162924079

二、安装LAMP环境

  1. 在ECS管理控制台的安全组里开放SSH端口

image-20200926163246423

  1. 通过Powershell终端与SSH工具连接ECS服务器

image-20200926163343560

  1. 运行如下命令安装Apache服务及扩展包

    yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql
    AI 代码解读
  2. 运行如下命令安装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
    AI 代码解读
  3. 运行如下命令安装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
    AI 代码解读
  4. 运行如下命令启动MySQL数据库

    systemctl start mysqld
    AI 代码解读

三、搭建门户网站

  1. 运行如下命令,安装Git

    yum -y install git
    AI 代码解读
  2. 运行如下命令,下载PbootCMS源码文件

    cd ~ && git clone https://gitee.com/hnaoyun/PbootCMS.git
    AI 代码解读
  3. 运行如下命令,将安装包拷贝到Apache中www的root目录下

    cp -r PbootCMS/* /var/www/html/
    AI 代码解读
  4. 运行如下命令,给站点根目录文件权限增加写权限

    chmod -R a+w /var/www/html
    AI 代码解读
  5. 运行如下命令,初始化数据库pbootcms的表结构和数据,向数据库中导入CMS的初始数据。其中部分参数需要替换为此前设置的参数

    sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) &&
    mysql -hDBADDRESS -uUSERNAME -p -DDBNAME < $sql_file
    AI 代码解读
- DBADDRESS:集群详情下方的链接地址板块

- USERNAME:此前创建的数据库帐号

- DBNAME:此前创建的数据库名称

根据要求输入此前创建的数据库密码
AI 代码解读

image-20200926170125870

  1. 运行如下命令,修改CMS系统数据库配置,其中部分参数需要替换为自己的数据库配置

    cat > /var/www/html/config/database.php << EOF
    <?php
    return array(
        'database' => array(
            'type' => 'mysqli', // 数据库连接驱动类型: mysqli,sqlite,pdo_mysql,pdo_sqlite
            'host' => DBADDRESS, // PolarDB数据库链接地址
            'user' => USERNAME, // PolarDB数据库的用户名
            'passwd' => PASSWORD, // PolarDB数据库的密码
            'port' => '3306', // 数据库端口
            'dbname' => DBNAME //数据库名称
        )
    );
    EOF
    AI 代码解读
  2. 在ECS实例页面,进入ECS详情页,进入安全组页面,开放web服务的80端口

image-20200926170722342

  1. 运行如下命令,重启Apache服务

    systemctl restart httpd
    AI 代码解读
  2. 在浏览器地址栏输入云服务器的公网IP地址,进入门户网站首页

image-20200926172728366

  1. 通过http://<ECS公网IP地址>/admin.php,可以访问系统后台

image-20200926173111224

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
小蹄
+关注
目录
打赏
0
0
0
0
1
分享
相关文章
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第1天——三、实操:如何创建ECS实例
《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第1天——三、实操:如何创建ECS实例
《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第1天——二、云服务器ECS
《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第1天——二、云服务器ECS
《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第4天——三、实操:SLB将请求分发给后端ECS
《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第4天——三、实操:SLB将请求分发给后端ECS
PolarDB 开源版通过 brin 实现千分之一的存储空间, 高效率检索时序数据
PolarDB 的云原生存算分离架构, 具备低廉的数据存储、高效扩展弹性、高速多机并行计算能力、高速数据搜索和处理; PolarDB与计算算法结合, 将实现双剑合璧, 推动业务数据的 价值产出, 将数据变成生产力. 本文将介绍PolarDB 开源版通过 brin 实现千分之一的存储空间, 高效率检索时序数据
222 0
PolarDB 开源版 通过pgpointcloud 实现高效孪生数据存储和管理 - 支撑工厂、农业等现实世界数字化|数字孪生, 元宇宙相关业务的虚拟现实结合
PolarDB 的云原生存算分离架构, 具备低廉的数据存储、高效扩展弹性、高速多机并行计算能力、高速数据搜索和处理; PolarDB与计算算法结合, 将实现双剑合璧, 推动业务数据的价值产出, 将数据变成生产力. 本文将介绍PolarDB 开源版 通过 pgpointcloud 实现高效孪生数据存储和管理 - 支撑工厂、农业等现实世界数字化|数字孪生, 元宇宙相关业务的虚拟现实结合
268 0
使用 PolarDB 开源版 bloom filter index 实现任意字段组合条件过滤
PolarDB 的云原生存算分离架构, 具备低廉的数据存储、高效扩展弹性、高速多机并行计算能力、高速数据搜索和处理; PolarDB与计算算法结合, 将实现双剑合璧, 推动业务数据的价值产出, 将数据变成生产力. 本文将介绍使用 PolarDB 开源版 bloom filter index 实现任意字段组合条件过滤
289 0
PolarDB 开源版通过 pg_trgm GIN 索引实现高效率 `like '%xxx%'` 模糊查询
PolarDB 的云原生存算分离架构, 具备低廉的数据存储、高效扩展弹性、高速多机并行计算能力、高速数据搜索和处理; PolarDB与计算算法结合, 将实现双剑合璧, 推动业务数据的 价值产出, 将数据变成生产力. 本文将介绍PolarDB 开源版通过 pg_trgm GIN 索引实现高效率 `like '%xxx%'` 模糊查询
377 0
PolarDB 开源版通过 rum 实现高效率搜索和高效率排序的解决方案
PolarDB 的云原生存算分离架构, 具备低廉的数据存储、高效扩展弹性、高速多机并行计算能力、高速数据搜索和处理; PolarDB与计算算法结合, 将实现双剑合璧, 推动业务数据的 价值产出, 将数据变成生产力. 本文将介绍PolarDB 开源版通过 rum 实现高效率搜索和高效率排序的解决方案
217 0
PolarDB 开源版通过 parray_gin 实现高效率 数组、JSON 内元素的模糊搜索
PolarDB 的云原生存算分离架构, 具备低廉的数据存储、高效扩展弹性、高速多机并行计算能力、高速数据搜索和处理; PolarDB与计算算法结合, 将实现双剑合璧, 推动业务数据的 价值产出, 将数据变成生产力. 本文将介绍PolarDB 开源版通过 parray_gin 实现高效率 数组、JSON 内元素的模糊搜索
303 0

热门文章

最新文章