【ECS七天实践训练营】——使用ECS和PolarDB搭建门户网站

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: 在ECS云服务器上使用PolarDB数据库搭建门户网站

背景知识

PolarDB数据库

PolarDB是阿里云自研的下一代关系型云数据库,有三个独立的引擎,分别可以100%兼容MySQL、100%兼容PostgreSQL、高度兼容Oracle语法,存储容量最高可达100TB,单库最多可扩展到16个节点,适用于企业多样化的数据库应用场景。
PolarDB采用存储和计算分离的架构,所有计算节点共享一份数据,提供分钟级的配置升降级、秒级的故障恢复、全局数据一致性和免费的数据备份容灾服务。PolarDB既融合了商业数据库稳定可靠、高性能、可扩展的特征,又具有开源云数据库简单开放、自我迭代的优势,例如PolarDB MySQL性能最高可以提升至MySQL的6倍,而成本只有商用数据库的1/10。

  • 1.集群架构,计算与存储分离:PolarDB采用多节点集群的架构,集群中有一个Writer节点(主节点)和多个Reader节点(读节点),各节点通过分布式文件系统(PolarFileSystem)共享底层的存储(PolarStore)。
  • 2.读写分离:当应用程序使用集群地址时,PolarDB MySQL/PostgreSQL通过内部的代理层(Proxy)对外提供服务,应用程序的请求都先经过代理,然后才访问到数据库节点。代理层不仅可以做安全认证和保护,还可以解析SQL,把写操作(例如事务、UPDATE、INSERT、DELETE、DDL等)发送到主节点,把读操作(例如SELECT)均衡地分发到多个只读节点,实现自动的读写分离。对于应用程序来说,就像使用一个单点的MySQL数据库一样简单。内部的代理层(Proxy)后续将支持PolarDB兼容Oracle语法引擎。

一、创建PolarDB数据库账号

1.在阿里云控制台首页左侧导航栏,依次单击产品与服务> 云数据库PolarDB ,进入云数据库PolarDB管理控制台
image.png
2.单击左侧集群列表,然后选择云产品资源提供的地域,例如:华东2(上海)
image.png
3.创建数据库账号

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

image.png
b.单击左侧导航栏配置与管理>账号管理。
c.单击左上方创建账号。
image.png
d.参考说明配置账号信息,然后单击确定。
image.png

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

4.创建数据库

a.在实例详情页,单击左侧导航栏的数据库管理,然后单击创建数据库。

image.png
b.参考说明配置数据库信息,然后单击创建。
image.png

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

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

二、安装LAMP环境

LAMP是指运行在Linux下的Apache、MySQL和PHP的环境,参考以下操作在云服务器上安装开发环境
1.在ECS服务器上,执行以下命令安装Apache服务及其扩展包

yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql

返回类似如下图结果则表示安装成功。
image.png
2.PbootCMS是使用PHP语言开发的CMS系统,执行以下命令,安装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

三、搭建门户网站

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的初始数据

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

sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) &&
mysql -h数据库连接地址 -utest_user -pPassword1213 -Dpbootcms < $sql_file

说明: 在执行命令前,请修改一下三个参数
数据库连接地址参见集群详情页面下方链接地址板块
test_user为创建的数据库账号
Password1213为创建的数据库密码

sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) &&
mysql -hpc-uf62775v9xwjt9e3q.mysql.polardb.rds.aliyuncs.com -utest_user -pPassword1213 -Dpbootcms < $sql_file

b.执行以下命令,修改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
cat > /var/www/html/config/database.php << EOF
<?php
return array(
    'database' => array(
        'type' => 'mysqli', // 数据库连接驱动类型: mysqli,sqlite,pdo_mysql,pdo_sqlite
        'host' => 'pc-uf62775v9xwjt9e3q.mysql.polardb.rds.aliyuncs.com', // PolarDB数据库链接地址
        'user' => 'test_user', // PolarDB数据库的用户名
        'passwd' => 'Password1213', // PolarDB数据库的密码
        'port' => '3306', // 数据库端口
        'dbname' => 'pbootcms' //数据库名称
    )
);
EOF

6.返回ECS控制台,在ECS实例列表页面,单击已创建的ECS实例ID链接进入ECS详情页
7.在左侧导航栏,单击本实例安全组,然后单击安全组的ID链接查看安全组配置
确保安全组开放了80端口访问,否则无法访问已搭建的门户网站。安全组是一种虚拟防火墙,具备状态检测和数据包过滤能力,用于在云端划分安全域。通过配置安全组规则,可以控制安全组内一台或多台ECS实例的入流量和出流量。
image.png
8.访问程序
执行以下命令重启 Apache服务

systemctl restart httpd

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

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
7天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
13天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
10天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
11天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
1天前
|
存储 Linux
服务器数据恢复—Linux操作系统网站服务器数据恢复案例
服务器数据恢复环境: 一台linux操作系统网站服务器,该服务器上部署了几十个网站,使用一块SATA硬盘。 服务器故障&原因: 服务器在工作过程中突然宕机。管理员尝试重新启动服务器失败,于是将服务器上的硬盘拆下检测,发现很多坏扇区。联系当地的一家数据恢复公司处理,但是没有成功。
|
1月前
|
Cloud Native Java 编译器
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
随着云计算技术的不断发展,云服务商们不断推出高性能、高可用的云服务器实例,以满足企业日益增长的计算需求。阿里云推出的倚天实例,凭借其基于ARM架构的倚天710处理器,提供了卓越的计算能力和能效比,特别适用于云原生、高性能计算等场景。然而,有的用户需要将传统基于x86平台的应用迁移到倚天实例上,本文将介绍如何将基于x86架构平台的应用迁移到阿里云倚天实例的服务器上,帮助开发者和企业用户顺利完成迁移工作,享受更高效、更经济的云服务。
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
|
29天前
|
编解码 前端开发 安全
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘
在我们选购阿里云服务器的过程中,不管是新用户还是老用户通常都是通过阿里云的活动去买了,一是价格更加实惠,二是活动中的云服务器配置比较丰富,足可以满足大部分用户的需求,但是面对琳琅满目的云服务器实例、带宽和云盘选项,如何选择更适合自己,成为许多用户比较关注的问题。本文将介绍如何在阿里云的活动中选择合适的云服务器实例、带宽和云盘,以供参考和选择。
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘
|
27天前
|
弹性计算 运维 安全
阿里云轻量应用服务器和经济型e实例区别及选择参考
目前在阿里云的活动中,轻量应用服务器2核2G3M带宽价格为82元1年,2核2G3M带宽的经济型e实例云服务器价格99元1年,对于云服务器配置和性能要求不是很高的阿里云用户来说,这两款服务器配置和价格都差不多,阿里云轻量应用服务器和ECS云服务器让用户二选一,很多用户不清楚如何选择,本文来说说轻量应用服务器和经济型e实例的区别及选择参考。
阿里云轻量应用服务器和经济型e实例区别及选择参考
|
28天前
|
机器学习/深度学习 存储 人工智能
阿里云GPU云服务器实例规格gn6v、gn7i、gn6i实例性能及区别和选择参考
阿里云的GPU云服务器产品线在深度学习、科学计算、图形渲染等多个领域展现出强大的计算能力和广泛的应用价值。本文将详细介绍阿里云GPU云服务器中的gn6v、gn7i、gn6i三个实例规格族的性能特点、区别及选择参考,帮助用户根据自身需求选择合适的GPU云服务器实例。
阿里云GPU云服务器实例规格gn6v、gn7i、gn6i实例性能及区别和选择参考

热门文章

最新文章