阿里云【ECS 7天实践训练营-进阶路线】笔记4

本文介绍了如何在阿里云ECS实例上使用PolarDB数据库搭建门户网站,包括创建PolarDB实例、设置数据库账号、安装LAMP环境以及部署WordPress。PolarDB是一款高性价比、高性能的云原生数据库,提供大容量、低成本、分钟级扩容等优势,适合企业级应用。
摘要由CSDN通过智能技术生成

一、笔记说明

  1. 本博客专栏《阿里云【ECS 7天实践训练营】》的所有文章均为进阶路线的学习笔记,当前【ECS 7天实践训练营】的进阶路线内容为:
  • 基于ECS搭建FTP服务
  • 基于ECS快速搭建Docker环境
  • SLB负载均衡实践
  • 使用PolarDB和ECS搭建门户网站
  • 搭建个人Leanote云笔记本
  • 案例分享——钉钉

二、正文

引言

本篇文章使用阿里云提供的一台基础环境为CentOS 64位的ECS(云服务器)实例并为实例配置了弹性公网IP和一台已经创建好的PolarDB数据库实例。我们将会在这台服务器上安装WordPress,快速搭建自己的云上博客。

通过本文,你将了解:

  1. ECS真实操作环境;
  2. Wordpress安装及部署。

阿里云PolarDB数据库背景知识

简介

PolarDB数据库是阿里云自研的云原生关系型数据库PolarDB存储容量最高可达100TB,单库最多可扩展到16个节点,适用于企业多样化的数据库应用场景。每个节点最高88 vCPU,Serverless分布式存储空间根据数据量自动伸缩,仅须为实际使用的容量付费。

PolarDB有三个独立的引擎,分别100%兼容MySQL、100%兼容PostgreSQL、高度兼容Oracle语法。

PolarDB采用存储和计算分离的架构,同一实例的所有读写和只读节点都访问存储上同一个数据副本。集群版单机故障,可实现主备切换0数据丢失,彻底解决异步复制带来的主备节点数据非强一致问题,几分钟内即可扩展只读副本,备份和恢复数据。

PolarDB既融合了商业数据库稳定可靠、高性能、可扩展的特征,又具有开源云数据库简单开放、自我迭代的优势,例如PolarDB MySQL作为“超级MySQL”,性能最高可以提升至MySQL的6倍,单节点最高100万QPS,而成本只有商用数据库的1/10,每小时最低只需1.3元即可体验完整的产品功能。

PolarDB兼容Oracle数据库提供公共云和专有云形态,其中专有云形态支持CentOS、UOS、麒麟等操作系统,支持X86架构CPU以及ARM架构CPU(飞腾等)。

PolarDB MySQL 100%兼容原生MySQL和RDS MySQL,您可以在不修改应用程序任何代码和配置的情况下,将MySQL数据库迁移至PolarDB MySQL。

PolarDB是一种关系型分布式数据库,在存储空间/时空数据(Spatial/Spatio-temproal Data),尤其是在使用阿里云自研Ganos时空引擎时具有极大优势。空间/时空数据(Spatial/Spatio-temproal Data,以下统称时空数据)是带有时间/空间位置信息的图形图像数据,用来表示事物的位置、形态、变化及大小分布等多维信息。阿里云自研Ganos时空引擎(以下简称Ganos)提供一系列的数据类型、函数和存储过程,用于在云原生关系型分布式数据库PolarDB中对空间/时空数据进行高效的存储、索引、查询和分析计算。

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

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

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

  • 低成本

    • 共享存储:计算与存储分离,每增加一个只读节点只收取计算资源的费用,而传统的只读节点同时包含计算和存储资源,每增加一个只读节点需要支付相应的存储费用。
    • 弹性存储:存储空间无需配置,根据数据量自动伸缩,您只需为实际使用的数据量按小时付费。
    • 存储包:PolarDB推出了预付费形式的存储包。当您的数据量较大时,推荐您使用存储包,相比按小时付费,预付费购买存储包有折扣,购买的容量越大,折扣力度越大。
    • 计算包:PolarDB首创计算包,用于抵扣计算节点的费用,计算包兼顾了包年包月付费方式的经济性和按量付费方式的灵活性。您还可以将计算包与自动扩缩容配合使用,在业务峰值前后实现自动弹性升降配,轻松应对业务量波动。
  • 高性能:大幅提升OLTP性能,支持超过50万次/秒的读请求以及超过15万次/秒的写请求。

  • 分钟级扩缩容:存储与计算分离的架构,配合容器虚拟化技术和共享存储,增减节点只需5分钟。存储容量自动在线扩容,无需中断业务。

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

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

  • 秒级快速备份:不论多大的数据量,全库备份只需30秒,而且备份过程不会对数据库加锁,对应用程序几乎无影响,全天24小时均可进行备份。

2.1 创建实例

登录子账户、创建资源的内容参见本专栏“笔记1”的2.1 创建实例部分。https://blog.csdn.net/qq_35772105/article/details/115072465
本篇文章所用ECS实例参数:
在这里插入图片描述
接下来配置ECS安全组规则。安全组是一种虚拟防火墙,具备状态检测和数据包过滤能力,用于在云端划分安全域。通过配置安全组规则,您可以控制安全组内一台或多台ECS实例的入流量和出流量。

本实验需要开通的端口有:

  • 80:访问已搭建的门户网站,Apache端口。
  • 888:访问phpmyadmin的端口。
  • 3306:MySQL的默认端口。
  • 8888:访问宝塔面板的端口。
  • 20、21:FTP服务器端口。
  • 22:SSH远程访问端口。
  • 8080:WWW代理服务,Apache Tomcat web server默认服务端口。
  • 443:HTTPS默认服务端口。
    在这里插入图片描述

2.2 创建PolarDB数据库账号

在阿里云控制台首页左侧导航栏,依次单击产品与服务->云数据库PolarDB,进入云数据库PolarDB管理控制台。或使用链接:https://polardb.console.aliyun.com/cn-zhangjiakou/clusters
在这里插入图片描述
单击左侧集群列表,然后选择云产品资源提供的地域。我们的ECS是上海区的,所以我们的PolarDB数据库也得是上海区的。事实上,阿里云已经给我们创建好了PolarDB数据库实例,
在这里插入图片描述
创建数据库账号。
集群列表页面,单击集群ID,进入集群详情界面
在这里插入图片描述
单击左侧导航栏配置与管理->账号管理
在这里插入图片描述
单击左上方创建账号
在这里插入图片描述
参考说明配置账号信息,然后单击确定

数据库账号:输入数据库账号名称,kchacker 。
账号类型:此处选择普通账号。
密码:设置账号密码,PYTHONvip123456。
在这里插入图片描述
创建数据库。
在实例详情页,单击左侧导航栏的数据库管理,然后单击创建数据库
在这里插入图片描述
参考说明配置数据库信息,然后单击创建

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

在这里插入图片描述
在这里插入图片描述
设置数据库白名单。
连接数据库需要设置数据库白名单,点击集群白名单,然后点击设置设置数据库集群白名单。
在这里插入图片描述
在白名单界面将默认的白名单地址127.0.0.1更改为0.0.0.0/0,然后点击确定使白名单地址生效。
在这里插入图片描述
在这里插入图片描述

2.3 连接ECS服务器

连接ECS的内容参见本专栏“笔记1”的2.1 创建实例部分。https://blog.csdn.net/qq_35772105/article/details/115072465

2.4 安装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。
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

在这里插入图片描述

2.5 搭建门户网站

  1. 在ECS服务器上,执行以下命令,安装Git。
yum -y install git

在这里插入图片描述

  1. 在ECS服务器上,执行以下命令下载PbootCMS源码文件。
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的表结构和数据。

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

  • 数据库连接地址参见集群详情页面下方链接地址板块,pc-uf6026865jx26nbgp.mysql.polardb.rds.aliyuncs.com
  • 创建的数据库账号,kchacker
  • 创建的数据库,kchacker_test
  • 创建的数据库密码,PYTHONvip123456
# 命令模板
sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) &&
mysql -h数据库连接地址 -utest_user -pPassword1213 -Dpbootcms < $sql_file

# 实际执行的命令
sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) &&
mysql -hpc-uf6026865jx26nbgp.mysql.polardb.rds.aliyuncs.com -ukchacker -pPYTHONvip123456 -Dkchacker_test < $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

# 实际执行的命令
cat > /var/www/html/config/database.php << EOF
<?php
return array(
    'database' => array(
        'type' => 'mysqli', // 数据库连接驱动类型: mysqli,sqlite,pdo_mysql,pdo_sqlite
        'host' => 'pc-uf6026865jx26nbgp.mysql.polardb.rds.aliyuncs.com', // PolarDB数据库链接地址
        'user' => 'kchacker', // PolarDB数据库的用户名
        'passwd' => 'PYTHONvip123456', // PolarDB数据库的密码
        'port' => '3306', // 数据库端口
        'dbname' => 'kchacker_test' //数据库名称
    )
);
EOF

在这里插入图片描述

  1. 访问程序,执行以下命令重启 Apache服务。
systemctl restart httpd

在这里插入图片描述

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

在这里插入图片描述
至此您已完成门户网站的搭建,您可以根据需求自定义门户网站的内容。
完成实验后不要忘记结束体验以释放资源。

附:使用宝塔面板安装LAMP环境

宝塔面板安装命令详情页链接:https://www.bt.cn/bbs/thread-19376-1-1.html

本使用所用ECS的操作系统为CentOS 64位,对应宝塔安装命令:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 04ff83

输入y继续安装,之后根据给出的地址登录:

外网面板地址: http://47.101.72.91:8888/ec951b61
内网面板地址: http://172.16.1.217:8888/ec951b61
username: rs8jmpac
password: 34706576

在这里插入图片描述
在这里插入图片描述
在自动弹出的窗口中选择LAMP安装即可。
在这里插入图片描述
在这里插入图片描述
之后等待安装完成即可。

三、转载说明

  1. 本文内容借鉴阿里云教程,教程地址:https://developer.aliyun.com/adc/scenario/exp/a7161434e6cd499e9e26f2e62d0242fb?accounttraceid=1eebf8b44d5147a186592f233340869bmkby
    文章完成时间2021.3.25。
  2. 若要转载本文,请在转载文章末尾附上本文链接:https://blog.csdn.net/qq_35772105/article/details/115102596
  3. 本文正文部分全部文本唯一MD5:5B32742F7D575D3CAD929EDBEADE5F5B。
  4. 阿里云高校计划,陪伴两千多所高校在校生云上实践、云上成长。在这里你可以领用免费的cpu资源,还可以参加免费训练营,实践提高:https://developer.aliyun.com/adc/student/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔菲赫伯特

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值