使用PolarDB和ECS搭建门户网站

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 基于PolarDB和ECS实现搭建门户网站。背景知识:PolarDB数据库简介和优势。1、创建资源;2、创建PolarDB数据库账号; 3、连接ECS服务器;4、安装LAMP环境;5、搭建门户网站。

背景知识

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小时均可进行备份。

通过本次学习,我们可以了解ECS真实操作环境,Wordpress安装及部署。

1、创建资源

创建ECS 服务器等云产品资源,查看实验中所需的资源信息,例如:IP 地址、用户名、密码等。
1.png

2、创建PolarDB数据库账号

1. 单击页面左侧 云产品资源 > 一键复制登录url

2. 打开浏览器隐身窗口(无痕模式),粘贴已复制的url地址前往 RAM用户登录 界面,登录 阿里云管理控制台
以Chrome浏览器为例,打开新的无痕窗口,登录 阿里云管理控制台

  1. 依次单击更多>打开新的无痕窗口。
  2. 在地址栏粘贴登录url,访问 RAM用户 登录页面
  3. 在登录用户名称处,输入 子用户名称 ,单击 下一步
  4. 输入密码,单击 登录 进入 阿里云管理控制台
    2.png

3. 在 阿里云控制台首页 左侧导航栏,依次单击 产品与服务 > 云数据库PolarDB ,进入 云数据库PolarDB管理控制台
3.png

4. 单击左侧 集群列表 ,然后选择云产品资源提供的地域。例如:华东2(上海)
4.png

5. 创建数据库账号。

  1. 集群列表 页面,单击 集群ID ,进入 集群详情界面
  2. 单击左侧导航栏 配置与管理 > 账号管理
  3. 单击左上方 创建账号
  4. 参考说明配置账号信息,然后单击 确定
  • 数据库账号:输入数据库账号名称,例如:test_user 。
  • 账号类型:此处选择普通账号。
  • 密码:设置账号密码,例如:Password1213。
  • 确认密码:再次输入密码。
    5.png

6. 创建数据库。

  1. 在实例详情页,单击左侧导航栏的 数据库管理 ,然后单击 创建数据库
  2. 参考说明配置数据库信息,然后单击 创建
  • 数据库(DB)名称:输入数据库名称,例如:pbootcms 。
  • 支持字符集:默认设为utf8mb4。
  • 授权账号:选择上一步创建的数据库账号test_user。
  • 账号类型:默认设置为读写。
  • 备注说明:非必填。用于备注该数据库的相关信息,便于后续数据库管理,最多支持256个字符。
    6.png

7. 设置数据库白名单。
连接数据库需要设置数据库白名单,点击 [集群白名单],然后点击 [设置] 设置数据库集群白名单。

在白名单界面将默认的白名单地址127.0.0.1更改为 0.0.0.0/0,然后点击 [确定] 使白名单地址生效。
7.png

3、连接ECS服务器

1. 打开终端工具。我这里用的是 Windows:cmd

检查系统中是否安装有SSH工具。检查方法:在终端中输入命令 ssh -V 。

ssh -V

如果显示SSH版本则表示已安装,如下图所示。
8.png
如果未安装,请下载安装 OpenSSH工具。

2. 在终端中输入连接命令 ssh [username]@[ipaddress] 。
您需要将其中的username和ipaddress替换为步骤一中创建的ECS服务器的弹性公网IP。

3. 输入 yes。

4. 同意继续后将会提示输入登录密码。 密码为已创建的云服务的ECS的登录密码。
登录成功后会显示如下信息。
9.png

4、安装LAMP环境

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

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

yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql

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

2. 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

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

4. 执行以下命令启动MySQL数据库。

systemctl start mysqld

5、搭建门户网站

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

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

yum -y install git

2. 在ECSPbootCMS

cd ~ && git clone https://gitee.com/hnaoyun/PbootCMS.git

3. 执行以下命令将安装包拷贝到Apachewwwroot

cp -r PbootCMS/* /var/www/html/

4. 执行以下命令修改站点根目录文件权限。

chmod -R a+w /var/www/html

5. 向数据库中导入CMS的初始数据。

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

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

  • 数据库连接地址参见集群详情页面下方链接地址板块。
  • test_user为步骤二中创建的数据库账号。
  • Password1213步骤二中创建的数据库密码。
sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) &&
mysql -h数据库连接地址 -utest_user -pPassword1213 -Dpbootcms < $sql_file

11.png

6. 执行以下命令,修改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

12.png

7. 返回ECS控制台,在ECS实例列表页面,单击已创建的ECS实例ID链接进入ECS详情页。
13.png

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

9. 访问程序。
执行以下命令重启 Apache服务。

systemctl restart httpd

在浏览器地址栏输入云服务器的公网IP地址,进入门户网站首页
系统后台默认访问路径为http:///admin.php。默认账号为admin,密码为123456
15.png

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

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
数据可视化 关系型数据库 开发工具
开放原子训练营(第三季)inBuilder低代码开发实验室之探秘
开放原子训练营(第三季)inBuilder低代码开发实验室之探秘
377 0
开放原子训练营(第三季)inBuilder低代码开发实验室之探秘
|
机器学习/深度学习 编解码 自然语言处理
深度学习在图像处理中的应用与挑战
随着人工智能技术的迅猛发展,深度学习已成为推动技术革新的重要力量之一。特别是在图像处理领域,深度学习的应用不仅极大地提高了图像识别、分类和生成的精度,还拓展了新的研究方向和应用场景。本文旨在探讨深度学习在图像处理中的具体应用、所面临的主要挑战以及未来的发展趋势,以期为相关领域的研究提供参考和启示。
443 1
|
Java 数据处理
Java Scanner 类详解
`Scanner` 类是 Java 中 `java.util` 包提供的强大工具,用于从多种输入源(如键盘、文件、字符串)读取数据。本文详细介绍如何创建 `Scanner` 对象并使用其常用方法(如 `next()`, `nextInt()`, `nextLine()` 等)。通过示例代码展示如何从标准输入、字符串及文件中读取数据,并进行输入验证。使用时需注意关闭 `Scanner` 以释放资源,并确保输入类型匹配,避免异常。掌握 `Scanner` 可显著提升程序的数据处理能力。
521 1
|
消息中间件 Cloud Native 自动驾驶
RocketMQ实战教程之MQ简介
Apache RocketMQ 是一个云原生的消息流平台,支持消息、事件和流处理,适用于云边端一体化场景。官网提供详细文档和下载资源:[RocketMQ官网](https://rocketmq.apache.org/zh/)。示例中提到了RocketMQ在物联网(如小米台灯)和自动驾驶等领域的应用。要开始使用,可从[下载页面](https://rocketmq.apache.org/zh/download)获取软件。
|
Java
【Java从入门到精通】Java switch case 语句
【Java从入门到精通】Java switch case 语句
320 0
|
存储 前端开发 JavaScript
web前端入门
web前端入门
|
前端开发 开发工具 数据安全/隐私保护
保证数据安全,从行为验证码开始!
保证数据安全是当今互联网时代的重要任务。为了应对日益复杂的网络攻击,行为验证码应运而生。行为验证码通过分析用户在网站上的行为模式,识别正常用户并阻止恶意活动。它不仅提供了更强大的身份确认方式,还能有效减少伪造身份和破解账户的风险。从行为验证码开始,我们可以为数据安全建立起坚实的防线。
java202303java学习笔记第四十六天-请求-简单参数和实体参数1
java202303java学习笔记第四十六天-请求-简单参数和实体参数1
127 0
|
人工智能 供应链 前端开发
首席增长官·大咖视点|阿里云宿宸:借数字化的东风为商业地产助力
阿里云研究与战略咨询部总经理宿宸从数字化角度解析商业地产与零售消费。疫情其实是对各行各业,不仅是百货和购物中心,都带来了很大的影响。前段时间我们也做了一次泛零售行业的调研(包括餐饮及购物中心行业),有一些疫情期间和数字化相关的一些结论和大家分享一下。
2073 0
首席增长官·大咖视点|阿里云宿宸:借数字化的东风为商业地产助力
|
Java Spring 应用服务中间件
dubbo之ExtensionFactory获取适应扩展过程分析
开篇  这篇文章尝试分析dubbo中getAdaptiveExtension过程,且以ExtensionFactory作为例子进行分析。  在这篇文章中我们会了解ExtensionFactory的几个对象AdaptiveExtensionFactory、SpringExtensionFactory、SpiExtensionFactory的初始化过程,然后在这个过程中一窥getAdaptiveExtension的全貌。
12759 0