有学习WordPress建站的新手,在WordPress后台安装了 W3 Total Cache插件,但是Memcached没有响应、无法如常运行,显示以下通知:
The following memcached servers are not responding or not running:
Database Cache: 127.0.0.1:11211.
Object Cache: 127.0.0.1:11211.
Page Cache: 127.0.0.1:11211.
This message will automatically disappear once the issue is resol
通过运行命令“systemctl restart memcached
”重新启动 memcached 服务时,问题消失了一段时间,但随后又出现了。
已经进行了兼容性测试,一切似乎都很好:
Memcached extension: Installed Memcache extension: Not Installed Redis extension: Not Installed
应该怎么做才能解决Memcached服务无法如常运行问题?
Memcached服务没有响应的解决方法一
Memcached 服务似乎存在某种连接问题。所以问题出在 Memcached 服务器上。
请检查 WordPress插件设置和 Memcached 配置。
你收到的消息是 Memcached 服务器问题的结果。
如果重新启动 Memcached 服务后问题就消失了,就说明Memcached 服务器可能存在一些连接问题。
在 CLI/SSH 中检查 Memcached 服务 ▼
memcached-tool 127.0.0.1:11211 display memcached-tool 127.0.0.1:11211 stats telnet 127.0.0.1 11211
查看服务是否有在运行 ▼
ps afux | grep memc
如果需要,重新启动 memcache 服务(作为 root/sudo)▼
service memcached restart
假如出现错误提示“ ERROR Too many open connections
”这就是导致问题的原因。
当你达到 Memcached 开放连接限制时,你将无法再存储或检索从该点开始的任何会话,因为旧连接不会消失。
有两种可能的修复方法:
- 禁用 W3 Total Cache插件模块中的persistent connection(例如:Performance → Object Cache → Advanced)
- 提高内存缓存配置中的打开连接限制,设置最大打开连接。
Memcached服务无法运行的解决方法二
如果你的Linux服务器使用CWP控制面板的 PHP版本切换器,可以尝试重新安装Memcached服务。
在CWP控制面板左侧点击 → PHP Settings → PHP Version Switcher → 手动选择其它PHP 7版本,比如:PHP 7.4.28版本,并勾选Memcache和Memcached扩展 ▼
Linux服务器如何升级网站PHP版本?CWP7PHP版本切换器
将网站的Linux服务器升级到更高版本的PHP环境,网页打开速度会比之前的PHP版本快3到5倍,同时也提升了网站的安全性。 但是在升级PHP版本之前,了解网站是否完全兼容待升级的PHP环境非常重要……
陈沩亮博客之前只安装这个Memcached扩展而已,缺少安装Memcache扩展,就出现这样的问题。
在同时安装Memcache和Memcached扩展之后,Memcached服务没有响应的问题很快就迎刃而解了!