WordPress 启用 Memcached 动态缓存

6 Comments

Memcached 是一个高性能分布式的内存对象缓存系统, 通常被用于降低数据库加载压力以提高动态 web 应用的响应速度。

官网:http://www.memcached.org

实测环境:搬瓦工 CentOS 7 X64 + LNMP(php 7.2)+ WordPress 4.9

安装 Memcached

LNMP 一键包自带 Memcached 安装脚本,折腾起来很方便。进入 lnmp 解压后的目录,执行:

./addons.sh install memcached

可以根据自己需求选择 php-memcache 或 php-memcached 扩展,功能上 php-memcached 更强大一些。我是选择安装 php-memcached。

Starting Memcached...
Starting memcached: done
====== Memcached install completed ======
Memcached installed successfully, enjoy it!

看到上面字样就安装成功了。运行下面命令

php -m | grep memcached

会输出 memcached

测试缓存

<?php
$m = new Memcached();
$m->addServer( '127.0.0.1', 11211 );
$m->set( 'foo', 100 );
echo $m->get( 'foo' ) . "\n";

将上面代码保存为 test.php,然后执行 php -f test.php,输出 100 表示安装成功。

至此,VPS 系统环境已经支持 memcached 缓存。

WordPress 缓存配置

系统已经支持 memcached,WordPress 也要安装相应支持。

安装 wordpress-pecl-memcached-object-cache 插件,下载地址:https://github.com/tollmanz/wordpress-pecl-memcached-object-cache

下载解压得到 object-cache.php,上传到 wp-content 目录即可开启 memcached 缓存。

注意:若安装的是 memcache,这里需要使用 WordPress 官网上号称 Memcached 的 object-cache.php 插件,并且它只支持 memcache,不支持 Memcached。两者不能混用,否则会出现 WordPress 打不开,前台后台页面一片空白。

检查缓存效果,从官方下载 memcached 探针:http://pecl.php.net/get/memcache-3.0.8.tgz

解压,里面有一个 memcache.php 文件,编辑并找到如下代码:

define('ADMIN_USERNAME','memcache');    // Admin Username
define('ADMIN_PASSWORD','password'); // Admin Password
define('DATE_FORMAT','Y/m/d H:i:s');
define('GRAPH_SIZE',200);
define('MAX_ITEM_DUMP',50);

$MEMCACHE_SERVERS[] = 'mymemcache-server1:11211'; // add more as an array
$MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // add more as an array

修改为:

define('ADMIN_USERNAME','memcache');    // Admin 登录名称,自行修改
define('ADMIN_PASSWORD','password'); // Admin 登录密码,自行修改
define('DATE_FORMAT','Y/m/d H:i:s');
define('GRAPH_SIZE',200);
define('MAX_ITEM_DUMP',50);
//下面是定义memcached服务器,一般是单机部署,可注释掉一行,并将服务器地址根据实际修改,一般是127.0.0.1
$MEMCACHE_SERVERS[] = '127.0.0.1:11211'; // add more as an array
//$MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // add more as an array

然后将文件上传到网站私密目录,然后通过前台访问 memcache.php,输入上面的用户名和密码即可看到 memcached 状态。

 669-memcached-status

其他设置

如果 memcached 状态页面可以打开,但是里面没有Hits数据,可以刷新多几次 WordPress 博客页面,如果还是没有,说明 WordPress 并没有成功连接到 memcached,这时候可以在 wp-config.php 加入如下参数:

global $memcached_servers;
$memcached_servers = array(
array(
'127.0.0.1', // Memcached服务器IP
11211 // Memcached服务器端口
)
);

memcached 实际监听 IP 和端口,可以通过如下命令查看:

netstat -nutlp | grep memcache

手工安装可参考张戈博客详细教程:WordPress启用memcached动态缓存以及报错解决

快报:Vultr 最新活动,充 $5 送 $25,可以用 $2.5 套餐 VPS 一年,活动即将结束,快上车【点击查看
声明: 除非注明,常阳时光文章均为原创,转载请以链接形式标明本文地址
本文地址:https://cyhour.com/669/
Views: 288 Tags:  ,  , 

Comments:6

  1. 这缓存有问题啊,没处理好不如取消。我一进来就看到秦大叔的信息。ww4.sinaimg.cn/large/0060lm7Tly1fpob5fneibj309a088jrb.jpg

    2018.03.24 23:08 # 回复
    1楼
  2. = =、这个缓存还不错~我自己也在用~但是,感觉没啥大的变化。尴尬

    2018.03.24 23:35 # 回复
    2楼
  3. hi,博主,有没有听过docket容器安装lnmp,据说只要3分钟就能装好lnmp

    2018.04.15 12:38 # 回复
    3楼

发表留言

彩蛋:Vultr 充 $5 送 $25,活动即将结束,快上车【点击查看