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/,转载时烦请以链接形式注明原始出处。
声明:我们不销售主机,选主机需合法使用。任何主机需定期备份,防止数据丢失。信息以实际为准,评测仅供参考不代表权威!
🍄:Netflix 奈飞 YouTube 合租

斐讯 K2 路由器 OpenWRT Padavan PandoraBox 潘多拉固件收集分享

如题,斐讯 K2 路由器 OpenWRT Padavan PandoraBox 潘多拉固件收集分享。斐讯 K2 路由器比较旧了,但是日常备用或者百兆家庭宽带(偶尔回去的农村家里)使用还是绰绰有余,性价比也不错。 ye61123 K2P 超精简 padavan 帖子:回归纯粹,多机型超精简padavan,K2仅2.99MB 简介:无任何扩展,只…
浏览: 72 标签:  ,  ,  ,  ,  ,  , 

斐讯 K2P A1/A2版 路由器 OpenWRT Padavan PandoraBox 潘多拉固件收集分享

相比 K2P 金色 B1/B2,斐讯 K2P 路由器 A1/A2 CPU 是 MT7621AT,双核 880MHz,16MB闪存,128MB内存,千兆网口,可刷固件丰富很多。详细配置参考隔壁大佬 K2P 拆机,截图。 k2p a1/a2 breed 下载:k2p-breed-20201009 教程:斐讯K1、K2、K2P 刷机、刷入Breed 辅助工具 hanwckf - Padav…

斐讯 K2 刷 Tomato Phoenix 不死鸟固件

K2 原本用的是【改华硕[N14U N54U]5G 2G的7620老毛子Padavan固件(百度云同步 aria2 QOS)】固件,日常用足够了,只是偶尔死机自动重启。今天无意中在一个博友的文章中看到了这个 Tomato Phoenix 不死鸟路由器固件,看官方介绍(稳定、易用、高效)还不错,刚好又支持 K2,然后折腾了一把。 斐讯 K2 …
浏览: 90 标签:  ,  ,  ,  , 

红米AX6 OpenWRT固件 [Redmi AX6] 刷机经验资源收集

如题,红米AX6 OpenWRT固件 [Redmi AX6] 刷机经验资源收集,所有资源搜集自网络。红米AX6硬件配置:CPU 是高通IPQ8071A,跟小米 AX3600 CPU 一样,四核心 ARM Cortex A53 架构,512MB DDR3内存,128MB闪存,4个千兆网口。 红米AX6 [Redmi AX6] 拆机 详情请看 acwifi 原文,下面是芯片全家福: …
浏览: 61 标签:  ,  ,  ,  , 
浏览: 113 标签:  ,  ,  ,  , 

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信息