今天我们折腾一下Memcached和PHP Memcached扩展
1、什么是Memcached?
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。
简单来说,就是安装Memcached之后,你可以将一些数据缓存到内存中,加快网站速度!对wordpress而言,做了服务器的Memcached缓存可以减少wordpress得人数据库查询次数,让wordpress运行的更快,比如秒开!
2、lnmp安装Memcached
我目前使用的是军哥LNMP一键安装包的最新稳定版,而军哥在lnmp 1.2就已经内置了Memcached的安装脚本,因此安装Memcached对我使用的LNMP来说是简单的事情,只要按照军哥的教程操作就行,一般不会出现什么问题。
使用putty等远程工具登录到我们的云主机,然后跟着做:
进入lnmp 解压后的目录,执行:./addons.sh install memcached会出现如下图所示信息
可以根据自己的需求选择php-memcache或php-memcached扩展,目前discuz x使用的是前者,功能上php-memcached更强大一些。
因为我使用的是wordpress,所以我肯定要选择功能更强大一点的php-memcached。因此我输入“2”,回车。
当出现“Press any key to start…or Press Ctrl+c to cancel”时,我们按任意键,就自动开始安装php-memcached扩展。因为需要下载php-memcached安装包,所以安装过程会有些慢,等待就好。
当出现如下图所示的提示,就说明php-memcached扩展已经安装成功(期间lnmp自动重启php-fpm服务)
服务器端安装好php-memcached扩展之后,我们还需要在wordpress开启Memcached缓存功能,才能为wordpress加速!
tips:卸载 php-memcached,执行:./addons.sh uninstall memcached
3、wordpress如何开启Memcached缓存来加速网站
大家要仔细看这个
首先、我们需要下载 Memcached 插件所需的文件。
第一种方式:WordPress-pecl-memcached-object-cache
下载地址:https://github.com/tollmanz/WordPress-pecl-memcached-object-cache ( 复制地址,浏览器打开)
下载完成后解压缩,我们将其中的 object-cache.php 文件上传到 WordPress 的 wp-content 目录下即可。
第二种方式:Memcached Object Cache
首先在 下载 WordPress Memcached 插件:https://wordpress.org/plugins/memcached/ ( 复制地址,浏览器打开)
下载最新版本,将该object-cache.php文件放在wordpress目录中的wp-content 文件夹内。一般的说法就是这样子就算启动了 wordpress 的 memcache 插件了。
4、检查memcached 缓存效果
从官方下载 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 状态。
5、一些补充说明
如果 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
6、总结
大家记得做缓存的时候一定要谨慎,有的时候数据很容易出错,甚至会导致网站打不开,数据丢失,原因不明,所以大家多多学习缓存的知识为好!做好主机的Memcached和PHP Memcached扩展,可以提高网站的运行效率,给wordpress加速,如果遇到一些问题,也不用太担心。百度一下,有很多教程可以参考,就是人累点,慢慢折腾。
更多wordpress资料,请移步:
Wordpress 网站SEO优化教程_Wordpress 二次开发_百度/谷歌 SEO 研究_ISEOerwww.rrdaj.com