阿里云ECS进阶班Day 4 | 使用PolarDB和ECS搭建一个网站

2024-02-29 22:08

本文主要是介绍阿里云ECS进阶班Day 4 | 使用PolarDB和ECS搭建一个网站,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 1.PolarDB数据库简介
    • 1.1简介
    • 1.2PolarDB优势
  • 2.搭建过程
    • 2.1创建PolarDB数据库账号
    • 2.2安装LAMP环境
    • 2.3搭建门户网站
    • 2.4进入搭建好的网站
  • 3.阿里云高校计划

1.PolarDB数据库简介

1.1简介

Polar
DB是阿里云自研的下一代关系型云数据库,有三个独立的引擎,分别可以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语法引擎。

1.2PolarDB优势

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

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

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

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

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

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

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

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

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

2.搭建过程

搭建过程十分简单,只需在阿里云ECS控制台,根据提示进行操作即可。

2.1创建PolarDB数据库账号

  1. 在阿里云控制台中找到云数据库PolarDB ,点击集群ID。
    在这里插入图片描述
  2. 进入集群详情界面后,点击创建账号。
    在这里插入图片描述
  3. 按照如下图配置好账号信息,点击确定。
    在这里插入图片描述
  4. 点击左侧导航栏数据库管理,点击创建数据库。
    在这里插入图片描述
  5. 按照如下图配置数据库信息,完成后点击确定。
    在这里插入图片描述
  6. 点击左侧导航栏中的集群与白名单,将默认的白名单地址127.0.0.1更改为 0.0.0.0/0,并点击确定。在这里插入图片描述

2.2安装LAMP环境

  1. 采用ssh命令连接到ECS主机
ssh root@xxx.xxx.xxx.xxx // 替换为公网ip
  1. 在ECS服务器上,执行以下命令安装Apache服务及其扩展包。
yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql
  1. 执行以下命令安装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
  1. 启动Mysql数据库
systemctl start mysqld

出现以下提示,表示LAMP环境搭建完成。
在这里插入图片描述

2.3搭建门户网站

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

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
有了Git,我们就可以轻松地下载或者上传源码。

yum -y install git
  1. 在ECS服务器上,执行以下命令下载PbootCMS源码文件。
    PbootCMS是一个已经搭建好的网站模板,我们也可以选择其他不同的模板进行搭建。

PbootCMS是全新内核且永久开源免费的PHP企业网站开发建设管理系统,是一套高效、简洁、 强悍的可免费商用的PHP CMS源码,能够满足各类企业网站开发建设的需要。系统采用简单到想哭的模板标签,只要懂HTML就可快速开发企业网站。官方提供了大量网站模板免费下载和使用,将致力于为广大开发者和企业提供最佳的网站开发建设解决方案。

cd ~ && git clone https://gitee.com/hnaoyun/PbootCMS.git
  1. 执行以下命令将安装包拷贝到Apache的wwwroot目录下。
cp -r PbootCMS/* /var/www/html/
  1. 执行以下命令修改站点根目录文件权限。
chmod -R a+w /var/www/html
  1. 向数据库中导入CMS的初始数据。

执行以下命令初始化数据库pbootcms的表结构和数据。
*注意:下方为中文的地方为需要修改的参数,不需要添加空格。

sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) &&
mysql -h数据库连接地址 -u数据库账号名 -p数据库密码 -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控制台安全组中,确保已经开放了80端口访问权限,以访问搭建好的门户网站。
  2. 执行以下命令重启Apache服务
systemctl restart httpd

至此,网站搭建工作已全部完成。

2.4进入搭建好的网站

在浏览器中输入http://<ECS公网IP地址>/admin.php访问后台管理网页
默认账号为admin,密码为123456
在这里插入图片描述

3.阿里云高校计划

陪伴两千多所高校在校生云上实践、云上成长。在这里你可以领用免费的cpu资源,还可以参加免费训练营,实践提高:https://developer.aliyun.com/adc/student/

这篇关于阿里云ECS进阶班Day 4 | 使用PolarDB和ECS搭建一个网站的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/760253

相关文章

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

springboot的调度服务与异步服务使用详解

《springboot的调度服务与异步服务使用详解》本文主要介绍了Java的ScheduledExecutorService接口和SpringBoot中如何使用调度线程池,包括核心参数、创建方式、自定... 目录1.调度服务1.1.JDK之ScheduledExecutorService1.2.spring

Java使用Tesseract-OCR实战教程

《Java使用Tesseract-OCR实战教程》本文介绍了如何在Java中使用Tesseract-OCR进行文本提取,包括Tesseract-OCR的安装、中文训练库的配置、依赖库的引入以及具体的代... 目录Java使用Tesseract-OCRTesseract-OCR安装配置中文训练库引入依赖代码实

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个