赞片CMSRedis配置
照着做完,你的赞片 CMS 就会把数据库压力最大的那部分查询交给 Redis,后台打开速度和列表页响应会明显变快。
第一步:装好 Redis 服务端
这一步的目标是让服务器上跑起一个可用的 Redis 进程。如果你用的是宝塔面板(7.7 及以上版本界面基本一致),操作路径是:登录宝塔面板 → 左侧「软件商店」→ 顶部切到「运行环境」标签 → 搜索框输入 Redis → 找到「Redis 7.0.11」这一项 → 点右侧「安装」→ 弹窗选「编译安装」,等 3 到 5 分钟。
装完后在「软件商店」→「已安装」里能看到 Redis,状态显示「运行中」,端口默认 6379。
注意:Redis 装完默认只监听 127.0.0.1 且没有密码。如果你的赞片 CMS 和 Redis 在同一台机器上,保持默认即可;千万不要为了图省事把 6379 端口在安全组里放开,那等于把数据库敞开给全网。
第二步:给 PHP 装 redis 扩展
这一步让 PHP 能连上 Redis,否则 CMS 会报 “Class 'Redis' not found”。路径:宝塔面板 →「软件商店」→「已安装」→ 找到你站点正在用的 PHP 版本(赞片 CMS 一般跑在 PHP 7.4 或 8.0)→ 点「设置」→ 左侧「安装扩展」→ 找到 redis → 点「安装」。
装完后切到「服务」标签,点一次「重载配置」,再点「重启」。然后到「网站」→ 你的站点 →「设置」→「PHP 版本」确认站点用的就是这个版本。
验证是否成功:宝塔面板 →「终端」,输入
/www/server/php/74/bin/php -m | grep redis
回车后如果能打印出 redis 这一行,说明扩展生效(把 74 换成你自己的 PHP 版本号,比如 80)。
注意:PHP 扩展要装在「站点实际使用的那个 PHP 版本」上。服务器上装了 7.4 和 8.0 两个版本时,很多人装了 8.0 的扩展,站点却跑在 7.4,结果一直报错。
第三步:修改赞片 CMS 的缓存配置
这一步是核心,把 CMS 的默认文件缓存换成 Redis。用宝塔「文件」管理器或 FTP 打开网站根目录,找到 application/config.php,用编辑器打开(宝塔自带编辑器就行,注意先备份一份)。
按 Ctrl+F 搜索 'cache',找到类似下面这一段:
'cache' => [
'type' => 'File',
'path' => CACHE_PATH,
'prefix' => '',
'expire' => 0,
],
把它整体替换成:
'cache' => [
'type' => 'Redis',
'host' => '127.0.0.1',
'port' => 6379,
'password' => '',
'select' => 0,
'timeout' => 0,
'expire' => 0,
'persistent' => false,
'prefix' => 'zanpian_',
],
几个参数的含义:host 填 Redis 服务器地址,本机就是 127.0.0.1;port 默认 6379;password 如果你在宝塔 Redis 设置里设过密码就填上,没设就留空;select 表示用第几个库,填 0 就行;prefix 是键名前缀,多个站点共用一个 Redis 时必须改成不同的值,否则会互相覆盖。
改完保存文件。
注意:如果你的版本里
application/config.php找不到'cache'段,就去application/extra/目录下找cache.php,内容结构是一样的,改那里。
第四步:清空旧缓存并验证
这一步清掉残留的文件缓存,让新配置真正接管。路径:赞片 CMS 后台 → 左侧菜单「系统」→「缓存管理」→ 点「清空缓存」按钮。同时用宝塔文件管理器把网站根目录下的 runtime 文件夹整个删掉(程序会自动重建,不用怕)。
验证:宝塔「终端」里执行
redis-cli -h 127.0.0.1 -p 6379 info keyspace
如果看到 db0:keys=xxx,且 xxx 是个不断增长的数字,说明 CMS 已经在往 Redis 里写数据了。再用浏览器打开你的网站首页刷新几次,命令再跑一遍,keys 数量上涨就代表配置成功。
小结
- 顺序不能乱:先装 Redis 服务端,再给对应 PHP 版本装 redis 扩展,最后改 CMS 配置。
- 配置文件位置是
application/config.php里的'cache'段,找不到就查application/extra/cache.php。 password和prefix两个参数最容易出错:密码填错直接连不上,前缀重复会导致多站点数据串号。- 改完配置必须清缓存并删除
runtime目录,否则旧缓存还会生效。 - 安全底线:6379 端口不对公网开放,能设密码就设密码。
原文链接:https://www.gj0.com/thread-722.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。