利用阿里云搭建WordPress网站 – 数据库缓存和管理

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: WordPress是一种非常流行的博客网站平台,也可以当作一个内容管理系统(CMS)来使用, 是世界上使用最广泛的博客系统之一。WordPress有非常多优秀的插件,使得这个开源产品变得非常容易扩展,满足不同的需求。

WordPress是一种非常流行的博客网站平台,也可以当作一个内容管理系统(CMS)来使用, 是世界上使用最广泛的博客系统之一。WordPress有非常多优秀的插件,使得这个开源产品变得非常容易扩展,满足不同的需求。
我准备利用一个系列的文章,来展示如果利用阿里云的各种产品(弹性计算,数据库,安全等等),搭建一个完整的WordPress网站。内容包括:

四、数据库缓存和管理

当网站业务量逐渐增加,数据库往往是整个系统中第一个遇到性能瓶颈的组件。这个时候需要通过对数据库进行优化和管理,来提高数据库的吞吐能力。
针对网站类应用,读多写少是常态,因此针对性地进行数据库读写分离往往是一个好办法。阿里云RDS数据提供的读写分离功能可以对外提供一个单一的数据库读写入口,对系统的侵入性很小,是个非常理想的解决方案。除此之外,业界最常用的方法应该是在整个架构中增加内存数据库来进行数据缓存,一般来说会选用Redis数据库来进行实施。由此,系统的数据部分变得越来越复杂,因此还需要利用DMS这种管理工具来进行方便的运维。
这个部分的架构图如下,基于上一个版本增加了:

  • MySQL数据库读写分离:存放用户向WordPress上传的附件
  • CDN:通过CDN边缘节点的缓存机制加速附件静态文件的读取
    1

用DMS管理后台数据

阿里云的DMS数据管理产品(https://www.aliyun.com/product/dms)在官网上的口号是“比phpMyAdmin更强大,比Navicat更易用”,还是挺霸气的。其主要作用当然是聚合所有数据库的管理(无论在不在阿里云上),方便DBA对库表进行各种操作和维护。此外比较讨喜的功能是利用DSQL(通过Dlink)进行跨库查询,在微服务架构应用中进行数据验证的时候常常会用到。这里简单演示一下免费版本的基本功能,专业版和企业版需要额外购买,同时也去除掉一些限制并提供一些额外功能,详见:https://help.aliyun.com/document_detail/48109.html

最简单登陆DMS的方法是在RDS上面点击“登陆数据库”,输入用户名和密码即可。为了演示方便,我就直接用了之前设置的高权限账号root。
2

在界面的昨天可以看到数据库选择和数据表列表,通过这里我们可以发现WordPress的数据结构还是很简单的,基本上可以通过表名猜测到该表的用途,比如“wp_posts”自然就是存储帖子啦。注意“wp_”这个前缀是可以定制的哦,如果不知道怎么做的同学注意回看这个系列的第一篇。
试着写个SELECT语句看看里面的内容,很容易可以找到WordPress在安装时默认po的第一篇hello world的帖子。

3
4

回到页面上修改内容一下,保存,然后再回到DMS重跑一次SQL,可以看到新的内容已经写入了数据表中。

5
6

MySQL读写分离

MySQL读写分离这个功能,如果是自建数据库的话,需要利用Mycat做主从同步,做心跳检测,还得自己运维,还是比较麻烦的。阿里云MySQL直接提供这个功能还是很贴心,在数据库实例的“数据库代理”标签就可以打开了。首先选择添加只读实例,稍等一会儿,一个新的只读实例就创建好了。创建只读实例时会从备实例复制数据,数据与主实例一致,主实例的数据更新也会在主实例完成操作后立即自动同步到所有只读实例,完美。
7
8
9

在实例列表中会发现增加了一个打着“R”标的数据库实例。只读实例数量有限制,<64GB的主实例最多挂5个,≥64GB的主实例最多挂10个,一般中小网站挂3个就差不多了。
10

只读实例有自己的内网地址,可以用程序控制什么时候使用主实例,什么时候使用只读实例。当然大多数情况下,让MySQL自己决定就好了。我们回到主实例中,设置读写分离,将所有的读权重都给只读实例好了。这样就可以得到主实例的读写分离地址啦。

11
12

获得读写分离地址后,我们需要回到WordPress的配置文件wp-content/wp-config.php中,将之前填写的主库内网地址替换成刚刚获得的读写分析地址,并重启。
13

完成后在网页上浏览一下,从后端只读实例的监控可以看到IOPS和连接数等数据的变化,可以确定读写分离已经起作用了。
14

MySQL读写分离

Redis数据库(https://www.aliyun.com/product/kvstore)作为一种最常用的缓存数据库,几乎在各行各业的应用中都可以看到。为了将Redis利用起来,系统程序需要有一定的改造,WordPress则是通过插件来支持。一般来说还需要做高可用,以避免Redis失效而造成的雪崩效应,拖垮整个系统。因此大多数情况下都应该选择集群版多节点,以确保缓存的高可用。实际购买的时候注意VPC并设置密码。
15

和MySQL一样,使用之前要开白名单。这种安全机制在阿里云数据库基本是标配,配置方法也基本一样,把ECS服务器加进去就可以了。
16
17
18
19

白名单配置完成后,记录下内网地址,后面会用到。
20

然后在WordPress中安装插件Redis Object Cache。安装后打开配置项,可以发现这个插件需要修改配置才可以使用。但是这个插件的配置居然不是可视化的,还需要从后台修改配置文件,差评。
21
22

插件的配置信息是放在配置文件wp-content/wp-config.php中的。需要增加/修改以下代码(其中WP_REDIS_PASSWORD需要设置成创建Redis实例时设置的密码):

/** setup for Redis Object Cache **/
define('WP_REDIS_CLIENT', 'pecl');
define('WP_REDIS_SCHEME', 'tcp');
define('WP_REDIS_HOST', 'Redis实例的内网地址');
define('WP_REDIS_DATABASE', '0');
define('WP_REDIS_PASSWORD', '创建Redis实例时候设置的密码');
define('WP_CACHE_KEY_SALT', 'wp_');
define('WP_REDIS_MAXTTL', '86400');

23

配置完成后,再回到页面上的插件配置项上看一下Redis的配置,如果正确无误的话,选择“Enable Object Cache”,在状态栏应该显示“Connected”就表示配置完成了。
24
25

试着使用一下WordPress,然后我们利用DMS数据管理再看看Redis的效果。同样也是在Redis实例页面上方选择“登陆数据库”,然后应该可以看到许多Key-Value对和CPU、内存、命中率等指标,这就表示Redis已经开始为网站提供缓存服务啦。
26
27

相关文章
|
1天前
|
域名解析 搜索推荐 网络安全
如何使用Cloudways搭建WordPress网站
得益于开源的CMS建站系统的兴起,如今搭建网站已经变得非常简单,即使是不懂编程的人也能轻松搭建自己的网站。本文将以最受欢迎的WordPress开源建站系统为例,向大家介绍如何使用CloudWays搭建WordPress网站。首先你需要注册域名(推荐NameSilo)和购买主机服务器(推荐Cloudways),然后注册Cloudways账号,接下来是创建Cloudways主机并安装WordPress、设置域名解析、域名绑定、安装SSL证书。完成这些操作后你就可以访问WordPress后台了,接着就是安装WordPress主题和WordPress插件
14 0
如何使用Cloudways搭建WordPress网站
|
4天前
|
关系型数据库 分布式数据库 数据库
【阿里云云原生专栏】云原生时代的数据库选型:阿里云RDS与PolarDB对比分析
【5月更文挑战第24天】阿里云提供RDS和PolarDB两种数据库服务。RDS是高性能的在线关系型数据库,支持MySQL等引擎,适合中小规模需求;而PolarDB是分布式数据库,具备高扩展性和性能,适用于大规模数据和高并发场景。RDS与PolarDB在架构、性能、弹性伸缩、成本等方面存在差异,开发者应根据具体需求选择。示例代码展示了如何通过CLI创建RDS和PolarDB实例。
279 0
|
5天前
|
存储 SQL Cloud Native
阿里云数据库 SelectDB 版全面商业化!开启现代化实时数据仓库的全新篇章
2024 年 5 月 21 日,由阿里云联合飞轮科技共同举办的「阿里云数据库 SelectDB 版商业化产品发布会」于线上召开。阿里巴巴集团副总裁、阿里云数据库产品事业部负责人李飞飞宣布,阿里云数据库 SelectDB 版在中国站及国际站全面发布,正式开启商业化的全新篇章!
阿里云数据库 SelectDB 版全面商业化!开启现代化实时数据仓库的全新篇章
|
5天前
|
运维 关系型数据库 分布式数据库
在数据库应用中遇到的问题及阿里云数据库解决方案
企业在面临数据库性能瓶颈、可扩展性问题、高可用性不足及运维复杂等挑战时,选择了阿里云数据库解决方案。阿里云RDS和PolarDB通过读写分离、自动化索引优化、多副本架构等提升性能和扩展性;多可用区部署、数据复制等增强高可用性和容灾能力;自动化运维工具简化管理,降低运维成本。实施后,性能大幅提升,可扩展性增强,高可用性提升,运维工作简化,为业务稳定和未来发展奠定基础。
48 0
|
5天前
|
存储 SQL 监控
阿里云数据库 SelectDB 版全面商业化!开启现代化实时数据仓库新篇章
2024 年 5 月 21 日,由阿里云联合飞轮科技共同举办的「阿里云数据库 SelectDB 版商业化产品发布会」于线上召开。阿里巴巴集团副总裁、阿里云数据库产品事业部负责人李飞飞宣布,阿里云数据库 SelectDB 版在中国站及国际站全面发布,正式开启商业化的全新篇章!
330 3
|
5天前
|
SQL 关系型数据库 数据库
阿里云数据库 RDS SQL Server版实战【性能优化实践、优点探析】
本文探讨了Amazon RDS SQL Server版在云数据库中的优势,包括高可用性、可扩展性、管理便捷、安全性和成本效益。通过多可用区部署和自动备份,RDS确保数据安全和持久性,并支持自动扩展以适应流量波动。可视化管理界面简化了监控和操作,而数据加密和访问控制等功能保障了安全性。此外,弹性计费模式降低了运维成本。实战应用显示,RDS SQL Server版能有效助力企业在促销高峰期稳定系统并保障数据安全。阿里云的RDS SQL Server版还提供了弹性伸缩、自动备份恢复、安全性和高可用性功能,进一步优化性能和成本控制,并与AWS生态系统无缝集成,支持多种开发语言和框架。
31 2
|
7天前
|
JavaScript Java 关系型数据库
志愿者招募|基于SSM+vue的志愿者招募网站系统的设计与实现(源码+数据库+文档)
志愿者招募|基于SSM+vue的志愿者招募网站系统的设计与实现(源码+数据库+文档)
38 16
|
7天前
|
JavaScript 小程序 Java
戒烟网站|基于SSM+vue的戒烟网站系统的设计与实现(源码+数据库+文档)
戒烟网站|基于SSM+vue的戒烟网站系统的设计与实现(源码+数据库+文档)
17 0
戒烟网站|基于SSM+vue的戒烟网站系统的设计与实现(源码+数据库+文档)
|
7天前
|
JavaScript Java 关系型数据库
电影网站|基于SSM+vue的电影网站系统(源码+数据库+文档)
电影网站|基于SSM+vue的电影网站系统(源码+数据库+文档)
24 0
|
7天前
|
JavaScript Java 关系型数据库
音乐网站|基于SprinBoot+vue的音乐网站(源码+数据库+文档)
音乐网站|基于SprinBoot+vue的音乐网站(源码+数据库+文档)
14 0

热门文章

最新文章