一、介绍
Redis 是一个开源的 NoSQL 内存数据库,可以作为 WordPress 等内容管理系统(CMS)的对象缓存解决方案。对象缓存存储数据库查询结果,并在用户下次向站点发出类似请求时更快地传递这些结果。这种缓存提高了 WordPress 的性能,因为 MySQL 数据库响应时间通常决定了向用户提供内容的速度。
按照本文中的步骤,使用 Vultr Managed Databases for Redis 提高您的 WordPress 网站性能。
二、准备工作
在开始之前,请确保:
- 部署 Vultr 托管 Redis 数据库集群。
- 对您的WordPress网站和数据库进行完整备份。
三、安装 WordPress Redis 插件
Redis 对象缓存是一个持久性对象缓存插件,可将数据存储在现有的 Redis 数据库中。要在WordPress上使用Redis,请按照以下步骤所述安装并激活插件。
- 使用网络浏览器,使用您的管理用户帐户登录到您的 WordPress 后端仪表板。
https://example.com/wp-admin
- 在左侧导航栏上,找到并单击插件。
- 在插件页面上,单击新增。
- 在搜索插件栏中输入关键字。
Redis Object Cache
- 在搜索结果中,找到 Redis 对象缓存,然后单击立即安装。
- 安装完成后,单击激活以使插件准备就绪。
四、配置 Redis 对象缓存以与适用于 Redis 的 Vultr 托管数据库配合使用
要将 WordPress Redis 对象缓存插件与您的 Vultr 托管 Redis 数据库集成,您需要编辑站点的文件并添加新配置,如本节所述。wp-config.php
- 使用 SSH 以具有 sudo 权限的非 root 用户身份访问您的 WordPress 服务器。替换为实际服务器的 IP 地址。
192.0.2.1
$ ssh user@192.0.2.1
- 安装 PHP Redis 扩展。
对于 Ubuntu 或 Debian:
$ sudo apt install php-redis
对于 CentOS 或 Rocky Linux:
$ dnf install php-redis
- 切换到您的WordPress网络根目录。通常,或者。
/var/www/html
/var/www/public_html
$ cd /var/www/html
- 列出文件以验证所有WordPress文件在目录中是否可用。
$ ls -l
- 备份文件。
wp-config.php
$ sudo cp wp-config.php wp-config.ORIG
- 使用您选择的文本编辑器,打开并编辑文件。
wp-config.php
$ sudo nano wp-config.php
- 在文件顶部的正下方添加以下配置。
<? php
define('WP_REDIS_SCHEME', tls ); define( 'WP_REDIS_HOST', 'vultr-prod-a25-ab05-e71-vultr-prod-8c01.vultrdb.com' ); define( 'WP_REDIS_PORT', 16752 ); define( 'WP_REDIS_PASSWORD', 'AVNS_A********' ); define( 'WP_REDIS_DATABASE', 0 ); define( 'WP_REDIS_TIMEOUT', 1 ); define( 'WP_REDIS_READ_TIMEOUT', 1 ); define( 'WP_REDIS_RETRY_INTERVAL', 3 );
编辑所有值以匹配实际的 Vultr Redis 数据库集群详细信息。以下是每个配置行的作用:
WPREDISSCHEME:指定与 Redis 数据库通信的连接协议。
WPREDISHOST:Vultr Managed Redis Host URL。
WPREDIS端口:指定托管 Redis 集群端口。
WPREDIS密码:用于向集群进行身份验证的 Redis 密码。
WPREDISDATABASE:指定要与您的WordPress关联的Redis数据库。数据库值的范围介于 0 到 15 之间。
WPREDIS超时:与 Redis 数据库的连接在超时(失败)之前应等待的时间(以秒为单位)。
WPREDISREAD_TIMEOUT:插件在超时之前应从Redis数据库中读取数据的时间(以秒为单位)。
WPREDISRETRY_INTERVAL:插件应重试失败的数据库连接的时间(以毫秒为单位)。
保存并关闭文件。
- 在网络浏览器中,打开您的WordPress仪表板。
- 导航到“设置”,然后从选项列表中单击Redis。
- 单击诊断并验证您的更改是否显示在日志输出中,如下所示。
wp-config.php
Status: Drop-in not installed PhpRedis: 5.1.1 Metrics recorded: 0 Filesystem: Working WP_REDIS_SCHEME: "tcp" WP_REDIS_HOST: "vultr-prod-a205-e71-vultr-prod-8c01.vultrdb.com" WP_REDIS_PORT: 16752 WP_REDIS_DATABASE: 0 WP_REDIS_TIMEOUT: 1 WP_REDIS_READ_TIMEOUT: 1 WP_REDIS_PASSWORD: •••••••• Drop-ins: []
- 导航到概述选项卡,然后单击启用对象缓存以建立与 Vultr 托管 Redis 数据库的连接。
- 成功后,插件状态应更改为“已连接”,并且连接信息将显示在概述选项卡中。
如果插件状态为“未连接”,请导航到“诊断”以获取有关连接失败原因的完整详细信息。
- 验证您的 WordPress 请求是否已缓存到 Redis 数据库中。登录到您的 Redis 集群。
$ redis-cli -u rediss://default:[YOUR_PASSWORD]@[-vultrdb.com]:16752
- 选择插件连接信息中显示的 WordPress Redis 数据库。对于本文,数据库。
0
> select 0
- 查看所有键。
> keys *
您的输出应如下所示。
29) "wp:posts:last_changed" 30) "wp:terms:1" 31) "wp:redis-cache:metrics" 32) "wp:posts:wp_query-19019c4f7402df31d8711143d3caa1d6-0.77278600 1669223119" 33) "wp:comment:get_comments-46612f2dd3b604b784c3eb3dac699d60-0.80307100 1669223119" 34) "wp:posts:1" 35) "wp:options:can_compress_scripts"
所有WordPress请求结果都会缓存到Redis数据库中,并在每次对网站进行更改时刷新。
五、故障 排除
根据您的配置,Redis 对象缓存插件可能会在“诊断”页面上返回错误。以下是修复它们以成功连接的方法。
如果遇到此错误:
Ping:
Connection Exception: read error on connection to vultr-prod-EXAMPLE.vultrdb.com:16752 (RedisException)
Errors: [
"read error on connection to vultr-prod-EXAMPLE.vultrdb.com:16752"
- 验证您使用的连接方案是否正确。默认情况下,Vultr Managed Redis 需要tls/SSL连接。
- 验证您是否在文件中使用连接方案。
tls
wp-config.php
如果遇到此错误:
Ping:
Connection Exception: read error on connection to vultr-prod-a238a852-b0e6-44a5-ab05-e7148f81d820-vultr-prod-8c01.vultrdb.com:16752 (RedisException)
Errors: [
"Connection refused"
]
- 验证您的 Redis 集群详细信息是否正确,并且所有配置都高于声明下方的任何其他文件配置。
wp-config.php
<? php
如果遇到此错误:
Ping:
Connection Exception: Redis server went away (RedisException)
Errors: [
Redis server went away"
]
- 检查所有 Redis 配置是否都位于文件顶部。
wp-config.php
六、结论
您已成功将 WordPress 站点集成到 Vultr 托管 Redis 集群。当用户发出请求并且 MySQL 数据库结果缓存到您的 Redis 数据库中时,您的网站性能将得到改善。