WordPress 网站随着文章数量增加、插件增多以及访问量的提升,出现“越用越卡”的情况是非常常见的,对于运行在 CentOS 7 服务器上的 WordPress 站点,开启 Redis 缓存 是提升数据库查询效率、显著降低页面加载时间的最有效手段之一。
以下是完整的 CentOS 7 + WordPress 开启 Redis 缓存加速教程,包含环境准备、安装配置及 WordPress 端集成。
⚠️ 前置准备
- 服务器权限:你需要拥有服务器的
root权限或具有sudo权限的用户。 - 备份数据:在进行任何系统级修改前,请务必备份你的 WordPress 数据库和文件。
- 基础环境:假设你已经安装了 LAMP(Linux + Apache + MySQL + PHP)或 LEMP(Linux + Nginx + MySQL + PHP)环境,且 PHP 版本为 7.2 或更高(推荐 7.4+ 或 8.0+)。
第一步:安装 Redis 服务
CentOS 7 默认仓库中可能没有最新版的 Redis,建议通过 EPEL 源或 Remi 源安装,或者直接下载二进制包,这里使用最通用的 EPEL + Remi 方式安装较新版本的 Redis。
安装 EPEL 和 Remi 源
sudo yum install epel-release -y sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
启用 Remi 的 Redis 模块(以 Redis 6.x 为例)
sudo yum install redis -y
注意:如果提示找不到包,可能需要先启用 remi 模块:
sudo yum-config-manager --enable remi
启动并设置开机自启
sudo systemctl start redis sudo systemctl enable redis sudo systemctl status redis
status 显示 active (running),说明 Redis 服务已成功启动。
第二步:安装 PHP Redis 扩展
WordPress 需要通过 PHP 扩展与 Redis 服务通信。
安装 PHP Redis 扩展
根据你的 PHP 版本选择对应的包,假设你使用的是 PHP 7.4(请根据实际情况调整版本号,如 php72-php-pecl-redis):
# 查找可用的 redis 扩展包 yum search php | grep redis # 安装对应的扩展(以 php74 为例) sudo yum install php74-php-pecl-redis -y
提示:如果你使用的是 PHP 8.0,则安装
php80-php-pecl-redis。
重启 Web 服务器和 PHP-FPM
# 如果使用 Apache sudo systemctl restart httpd # 如果使用 Nginx + PHP-FPM sudo systemctl restart php-fpm sudo systemctl restart nginx
验证扩展是否安装成功
创建一个测试文件 info.php 放在网站根目录:
<?php phpinfo(); ?>
在浏览器访问 http://你的域名/info.php,搜索 redis,如果看到 Redis 扩展信息,说明安装成功,访问后请删除该文件以确保安全。
第三步:配置 WordPress 使用 Redis
使用插件(推荐新手)
这是最简单的方法,无需手动修改代码。
- 登录 WordPress 后台。
- 进入 插件 > 安装插件。
- 搜索并安装 Redis Object Cache(由 Till Krüss 开发,是目前最流行的 Redis 缓存插件)。
- 安装完成后,进入 设置 > Redis。
- 点击 “Enable Object Cache” 按钮。
- 如果连接成功,你会看到绿色的提示:“Object Cache is enabled”。
注意:如果提示连接失败,请检查 Redis 服务是否运行,以及 PHP 扩展是否正确加载。
手动配置(适合高级用户)
如果你不想使用插件,或者需要更精细的控制,可以手动配置。
-
下载 Redis 对象缓存文件:
cd /var/www/html/wordpress/wp-content/ wget https://github.com/tillkruss/redis-object-cache/releases/latest/download/redis-object-cache.zip unzip redis-object-cache.zip
-
启用缓存:
在wp-config.php文件中添加以下代码:// 启用 Redis 对象缓存 define('WP_REDIS_HOST', '127.0.0.1'); define('WP_REDIS_PORT', 6379); // 如果设置了 Redis 密码,取消下面注释并填写 // define('WP_REDIS_PASSWORD', 'your_redis_password'); -
激活插件:
在 WordPress 后台,进入 插件,找到 Redis Object Cache 并启用它。
第四步:优化 Redis 配置(可选但推荐)
默认配置可能不适合高负载网站,你可以编辑 Redis 配置文件 /etc/redis.conf 进行优化。
设置最大内存限制
防止 Redis 占用过多内存导致服务器崩溃。
sudo vi /etc/redis.conf
找到 maxmemory 行,取消注释并设置合适的值(256MB):
maxmemory 256mb
设置内存淘汰策略
当内存满时,Redis 需要知道如何处理旧数据,推荐设置为 allkeys-lru(Least Recently Used,最近最少使用):
maxmemory-policy allkeys-lru
重启 Redis 使配置生效
sudo systemctl restart redis
第五步:验证缓存是否生效
-
查看插件状态:
在 WordPress 后台,进入 设置 > Redis,查看“Hits”和“Misses”计数器,Hits”在增加,说明缓存正在工作。 -
使用命令行检查:
在服务器终端执行:redis-cli info stats
查看
keyspace_hits和keyspace_misses的值。hits远大于misses,说明缓存命中率很高。 -
性能测试:
使用工具如 GTmetrix、PageSpeed Insights 或 WebPageTest 测试网站加载速度,对比开启前后的数据。
常见问题排查
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| 插件显示“无法连接” | Redis 服务未运行 | 执行 sudo systemctl status redis 检查状态 |
| 插件显示“无法连接” | PHP 扩展未安装 | 检查 phpinfo() 是否包含 Redis 扩展 |
| 插件显示“无法连接” | 防火墙阻止 | 检查 firewall-cmd --list-ports,确保 6379 端口开放(仅限本地连接可忽略) |
| 缓存不更新 | 插件配置问题 | 尝试在插件中点击“Flush Redis”清空缓存 |
| 内存不足 | Redis 配置不当 | 调整 /etc/redis.conf 中的 maxmemory |
通过上述步骤,你已经在 CentOS 7 服务器上成功部署了 Redis 缓存,这将显著减少 WordPress 对数据库的查询次数,从而提升网站响应速度。
建议后续操作:
- 定期监控 Redis 内存使用情况。
- 结合 CDN(如 Cloudflare)和页面缓存插件(如 WP Super Cache 或 W3 Total Cache)使用,效果更佳。
- 确保 WordPress 核心、主题和插件保持最新,以避免兼容性问题。
如有任何问题,欢迎随时提问!
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/476117.html



