怎样使用 Vultr 托管的 Redis 数据库提升 WordPress 性能

介绍

Redis 是一种开源的 NoSQL 内存数据库,可以用作内容管理系统 (CMS)(例如 WordPress)的对象缓存解决方案。 对象缓存存储数据库查询结果,并在用户下次向站点发出类似请求时更快地提供它们。 这种缓存提高了 WordPress 的性能,因为 MySQL 数据库响应时间通常决定了向用户提供内容的速度。

按照本文中的步骤使用 Vultr Managed Databases for Redis 提高您的 WordPress 网站性能。

先决条件

在开始之前,请确保您:

  • 部署一个 Vultr 管理的 Redis 数据库集群。

  • 对您的 WordPress 站点和数据库进行完整备份。

安装 WordPress Redis 插件

Redis Object Cache 是一个持久化的对象缓存插件,它直接将数据存储在现有的 Redis 数据库中。 要在 WordPress 上使用 Redis,请按照以下步骤所述安装并激活插件。

  1. 使用 Web 浏览器,使用您的管理用户帐户登录到您的 WordPress 后端仪表板。

     https://example.com/bynss-admin
    
  2. 在左侧导航栏中,找到并单击 插件.

  3. 在插件页面上,单击 添新.

  4. Enter 关键词 Redis Object Cache 在里面 搜索插件 酒吧。

  5. 在搜索结果中找到Redis Object Cache,点击 现在安装.

  6. 安装完成后,单击 启用 使插件准备就绪。

配置 Redis 对象缓存以与 Vultr 托管的 Redis 数据库一起使用

要将 WordPress Redis 对象缓存插件与 Vultr Managed Redis 数据库集成,您需要编辑站点的 bynss-config.php 文件并添加新配置,如本节所述。

  1. 使用 SSH 以非根用户身份访问您的 WordPress 服务器 sudo 特权。 代替 192.0.2.1 使用您的实际服务器的 IP 地址。

     $ ssh [email protected]
    
  2. 安装 PHP Redis 扩展。

    对于 Ubuntu 或 Debian:

     $ sudo apt install php-redis
    

    对于 CentOS 或 Rocky Linux:

     $ dnf install php-redis
    
  3. 切换到您的 WordPress 网站根目录。 通常, /var/www/html 或者 /var/www/public_html.

     $ cd /var/www/html
    
  4. 列出文件以验证目录中的所有 WordPress 文件是否可用。

     $ ls -l
    
  5. 备份 bynss-config.php 文件。

     $ sudo cp bynss-config.php bynss-config.ORIG
    
  6. 使用您选择的文本编辑器,打开并编辑 bynss-config.php 文件。

     $ sudo nano bynss-config.php
    
  7. 在正下方文件的顶部添加以下配置 <? 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 数据库集群详细信息。 以下是每个配置行的作用:

    预发行计划:指定与 Redis 数据库通信的连接协议。

    WPREDI主机:Vultr 托管的 Redis 主机 URL。

    WPRE迪斯普特:指定托管 Redis 集群端口。

    WPRE 密码:用于向集群进行身份验证的 Redis 密码。

    WPRE数据库:指定要与您的 WordPress 关联的 Redis 数据库。 数据库值介于 0 到 15 之间。

    WPREDISTIMOUT:与 Redis 数据库的连接在超时(失败)之前应等待的时间(以秒为单位)。

    WPREDISREAD_TIMEOUT:插件在超时前应从 Redis 数据库读取数据的时间(以秒为单位)。

    WPREDISRETRY_INTERVAL:插件应重试失败的数据库连接的时间(以毫秒为单位)。

    Save 和 close 文件。

  8. 在网络浏览器中,打开您的 WordPress 仪表板。

  9. 导航 设置然后点击 雷迪斯 从选项列表中。

  10. 点击 诊断 并验证您的 bynss-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: []
    
  11. 导航到 概述 选项卡,然后单击 启用对象缓存 建立与 Vultr 托管 Redis 数据库的连接。

  12. 成功后,插件状态应更改为 连接的,并且连接信息显示在概览选项卡中。

    如果插件状态是 未连接, 导航 诊断 有关连接失败原因的完整详细信息。

  13. 验证您的 WordPress 请求是否已缓存到 Redis 数据库。 登录到您的 Redis 集群。

     $ redis-cli -u rediss://default:[YOUR_PASSWORD]@[-vultrdb.com]:16752
    
  14. 选择插件连接信息中显示的WordPress Redis Database。 对于本文,数据库 0.

     > select 0
    
  15. 查看所有键。

     > 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:连接异常:连接到 vultr-prod-EXAMPLE.vultrdb.com:16752 (RedisException) 错误时读取错误: [

    "read error on connection to vultr-prod-EXAMPLE.vultrdb.com:16752"
  • Verify that you are using the correct connection scheme. By default, Vultr Managed Redis requires tls/SSL connections.

  • Verify that you are using the tls connection scheme in your bynss-config.php file.

If you encounter this error:

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 集群详细信息是否正确且所有 bynss-config.php 配置在任何其他文件配置之上 <? php 宣言。

如果遇到此错误:

Ping:

Connection Exception: Redis server went away (RedisException)

Errors: [

Redis server went away"

]
  • 检查所有 Redis 配置是否在顶部 bynss-config.php 文件。

结论

您已成功将您的 WordPress 站点集成到 Vultr Managed Redis 集群中。 当用户发出请求并且 MySQL 数据库结果缓存到您的 Redis 数据库时,您的网站性能将会提高。 有关配置 WordPress Redis 对象缓存的更多信息,请访问插件的 官方 GitHub 页面。

文章标题 名称(可选) 电子邮件(可选) 描述

发送建议

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com