WordPress 优化加速:启用 Memcached 动态缓存数据库

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 缓存。

自动检测 memcached 进程 不存在则重启进程

复制下面代码保存为 memcachedcheck.sh 文件,上传至 root 目录,执行 chmod +x memcachedcheck.sh

#!/bin/sh
#check memcached process and restart if down
DATE=`date -d "today" +"%Y-%m-%d-%H:%M"`
MM=`ps aux |grep "memcached" |grep "11211" |grep -v "grep" |wc -l`
#if语句判断进程是否存在,如果不存在,输出日志记录并重启memcached服务
if [ "$MM" == "0" ];
then
echo "$DATE The memcached is problem and restart" >> /root/memcached_check.logs
service memcached restart
fi

然后添加至 crontab 计划任务,每隔5分钟检测一次。

*/5 * * * * /root/sh/memcachedcheck.sh

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 状态。

上面两个文件如果下载不到,可以下载老头备份文件

其他设置

如果 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

如果调整 Memcached 最大占用内存大小?

CentOS 7 Memcached 配置路径一般是 /etc/init.d/memcached,修改其中 CACHESIZE 配置即可:

vi /etc/init.d/memcached

CACHESIZE=256 #单位M,默认256M,一般博客 64M 就绰绰有余。

修改完成重启一下服务:

systemctl daemon-reload
service memcached restart  #重启生效

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

除非注明,垃圾站文章均为网络收集,本文地址 https://cyhour.com/669/,转载时烦请以链接形式注明原始出处。
声明:我们不销售主机,任何VPS主机均有跑路风险且需定期备份,防止数据丢失。信息以实际为准,评测仅供参考不代表权威!
🍄:Netflix 奈飞 YouTube 合租

希捷 西数 东芝 SMR 叠瓦式硬盘完整列表 硬盘购买指南

CMR(Conventional Magnetic Recording)又称作 PMR(Perpendicular Magnetic Recording)垂直写入技术,这是传统硬盘技术。SMR(Shingled Magneting Recording),叠瓦式记录技术,可以提高储存数据资料密度,从而提高硬盘储存容量。 SMR 叠瓦式硬盘优势在于大容量、低价格(性价比更高),缺点是…

WordPress 默认主题 Twenty Twenty-Two 将随 WordPress 5.9 正式发布

WordPress 2022 全新默认主题 Twenty Twenty-Two 将随 WordPress 5.9 「计划 2021 年 12 月 14 日」正式发布,Twenty Twenty-Two 主题充分使用 WordPress 最新的古腾堡编辑器的全站编功能和全局样式功能,有望成为 WordPress 有史以来最灵活自定义的主题。 WordPress 默认主题 Twenty Twenty-T…

全网热门 BitTorrent Tracker 加速BT下载 BT下载软件推荐

BT 下载速度取决于其他下载同一资源的用户上传速度。做种「指上传文件数据给其他 BT 用户的行为」用户越多,你的下载速度越快!如果资源没人提供上传,就会完全没有下载速度,而做种用户靠 Peer、DHT、Tracker 获得。 Tracker 是什么? BT 下载的文件都是其他用户上传给你的。 BT 下载速度…

Gridea 一个静态博客写作客户端 搭建免费静态博客 CDN加速

前几天折腾 Hugo,上手不难,建了个几乎零成本垃圾站,真香!Hugo 本地环境搭建比 Jekyll 简单,而 Gridea 比 Hugo 更简单,甚至,从功能上来说,Gridea 就是 Hugo GUI 版。 Gridea 简介 Gridea,一个静态博客写作客户端,小白也可以 GitHub Pages 搭建静态博客。开源、易用、强大。记录生…
浏览: 46 标签:  ,  ,  ,  , 

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 送$100,搬瓦工年付最低$49,优惠码 BWH3HYATVBJW,更多推荐VPS信息