ECS 7天实践训练营 - 使用 PolarDB 和 ECS 搭建门户网站

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 本场景将提供一台基础环境为CentOS的ECS(云服务器)实例和已经创建好的PolarDB数据库实例。我们将会在这台服务器上安装WordPress,帮助您快速搭建自己的云上博客。

使用 PolarDB 和 ECS 搭建门户网站

背景知识

PolarDB数据库简介

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 数据库账号

  1. 单击页面左侧 云产品资源 > 一键复制登录url
  2. 打开浏览器隐身窗口(无痕模式),粘贴已复制的url地址前往 RAM用户登录 界面,登录 阿里云管理控制台

    1. 在地址栏粘贴登录url,访问 RAM用户 登录页面;
    2. 在登录用户名称处,输入 子用户名称 ,单击 下一步
    3. 输入密码,单击 登录 进入 阿里云管理控制台
  3. 阿里云控制台首页 左侧导航栏,依次单击 产品与服务 > 云数据库PolarDB ,进入 云数据库PolarDB管理控制台

在这里插入图片描述

  1. 单击左侧 集群列表 ,然后选择云产品资源提供的地域。例如:华东2(上海)
  2. 创建数据库账号。

    1. 集群列表 页面,单击 集群ID ,进入 集群详情界面

    在这里插入图片描述

    1. 单击左侧导航栏 配置与管理 > 账号管理
    2. 单击左上方 创建账号
    3. 参考说明配置账号信息,然后单击 确定

    在这里插入图片描述

  3. 创建数据库。

    1. 在实例详情页,单击左侧导航栏的 数据库管理 ,然后单击 创建数据库
    2. 参考说明配置数据库信息,然后单击 创建

    在这里插入图片描述

  4. 设置数据库白名单。

    1. 连接数据库需要设置数据库白名单,点击 [集群白名单],然后点击 [设置] 设置数据库集群白名单。
    2. 在白名单界面将默认的白名单地址127.0.0.1更改为 0.0.0.0/0,然后点击 [确定] 使白名单地址生效。

    在这里插入图片描述

第三步:连接 ECS 服务器

  1. 打开终端工具;
  2. 使用 ssh 命令连接到 ECS 服务器;

在这里插入图片描述

第四步:安装 LAMP 环境

LAMP是指运行在Linux下的Apache、MySQL和PHP的环境。参考以下操作在云服务器上安装开发环境。

  1. 在ECS服务器上,执行以下命令安装Apache服务及其扩展包。

    yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql

返回类似如下图结果则表示安装成功。

在这里插入图片描述

  1. 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
  1. 执行以下命令下载并安装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
  2. 执行以下命令启动MySQL数据库。

    systemctl start mysqld

第五步:搭建门户网站

在完成环境部署后,参考以下操作搭建门户网站。

  1. 在 ECS 服务器上,执行以下命令,安装 Git。

    yum -y install git
  2. 在 ECS 服务器上,执行以下命令下载 PbootCMS 源码文件。

    cd ~ && git clone https://gitee.com/hnaoyun/PbootCMS.git
  3. 执行以下命令将安装包拷贝到 Apache 的 wwwroot 目录下。

    cp -r PbootCMS/* /var/www/html/
  4. 执行以下命令修改站点根目录文件权限。

    chmod -R a+w /var/www/html
  5. 向数据库中导入CMS的初始数据。

执行以下命令初始化数据库 pbootcms 的表结构和数据。

说明: 在执行命令前,请修改一下三个参数。

  • 数据库连接地址参见集群详情页面下方链接地址板块。
  • test_user 为步骤二中创建的数据库账号。
  • Maluqian1127 为步骤二中创建的数据库密码。
sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) &&
mysql -h数据库连接地址 -utest_user -pMaluqian1127 -Dpbootcms < $sql_file
  1. 执行以下命令,修改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
  1. 返回 ECS 控制台,在 ECS 实例列表页面,单击已创建的 ECS 实例 ID 链接进入 ECS 详情页。
  2. 在左侧导航栏,单击 本实例安全组 ,然后单击安全组的ID链接查看安全组配置。

确保安全组开放了80端口访问,否则无法访问已搭建的门户网站。安全组是一种虚拟防火墙,具备状态检测和数据包过滤能力,用于在云端划分安全域。通过配置安全组规则,您可以控制安全组内一台或多台ECS实例的入流量和出流量。

在这里插入图片描述

  1. 访问程序。

执行以下命令重启 Apache 服务。

systemctl restart httpd

在浏览器地址栏输入云服务器的公网 IP 地址,进入门户网站首页

系统后台默认访问路径为http://<ECS公网IP地址>/admin.php。默认账号为admin,密码为123456

至此您已完成门户网站的搭建,您可以根据公司的需求自定义门户网站的内容。

在这里插入图片描述

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
固态存储 安全 程序员
搭建程序员个人博客网站的服务器配置怎么选?
搭建个人博客网站时,合理选择服务器配置至关重要。推荐1核CPU、2GiB内存、SSD硬盘及2M-10M带宽,适合大多数个人博客。操作系统方面,Linux更为经济高效。建议选择如阿里云等知名云服务商,同时考虑服务器的可扩展性和安全性,确保网站稳定运行与良好体验。
|
2月前
|
运维 安全 Linux
怎么使用云服务器搭建个人博客网站
使用云服务器搭建个人博客网站是一个涉及多个步骤的过程,包括购买云服务器、域名注册和备案、环境配置、安装博客系统、部署SSL证书以及网站上线和维护。通过选择合适的云服务提供商(如阿里云、腾讯云等),配置服务器,安装宝塔面板,选择合适的博客程序(如Typecho、WordPress等),并确保安全措施到位,您可以成功搭建并运行自己的个人博客网站。
|
1月前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
2月前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
2月前
|
弹性计算 负载均衡 算法
负载均衡如何帮助阿里云国际服务器搭建的网站或应用程序?
负载均衡如何帮助阿里云国际服务器搭建的网站或应用程序?
|
2月前
|
域名解析 缓存 网络协议
Windows系统云服务器自定义域名解析导致网站无法访问怎么解决?
Windows系统云服务器自定义域名解析导致网站无法访问怎么解决?
|
2月前
|
弹性计算 关系型数据库 MySQL
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
|
2月前
|
网络安全 Docker 容器
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
28 0
|
2月前
|
关系型数据库 MySQL 分布式数据库
零基础教你用云数据库PolarDB搭建企业网站,完成就送桌面收纳桶!
零基础教你用云数据库PolarDB搭建企业网站,完成就送桌面收纳桶,邀请好友完成更有机会获得​小米Watch S3、小米体重称​等诸多好礼!
零基础教你用云数据库PolarDB搭建企业网站,完成就送桌面收纳桶!
|
3月前
|
关系型数据库 MySQL Serverless
探索PolarDB MySQL版:Serverless数据库的灵活性与性能
本文介绍了个人开发者对阿里云PolarDB MySQL版,特别是其Serverless特性的详细评测体验。评测涵盖了产品初体验、性能观测、Serverless特性深度评测及成本效益分析等方面。尽管试用过程中遇到一些小问题,但总体而言,PolarDB MySQL版表现出色,提供了高性能、高可用性和灵活的资源管理,是个人开发者和企业用户的优秀选择。