WordPress安装Memcached缓存加速2017版

最简单方法,服务器安装宝塔面板,安装相应php组件。下文是手动设置,不建议使用。

系统环境:centos7;php7.0   xampp

借鉴:张戈博客https://zhangge.net/5097.html

借鉴:我爱水煮鱼http://blog.wpjam.com/m/wordpress-memcached/

本次是安装Memcached

1、安装wp插件memcached-is-your-friend

2、#Centos直接使用yum安装即可,其他系统自行搜索安装命令,比如ubuntu

      yum -y install memcached

    #启动memcached  

service memcached start


    #开机启动

   chkconfig memcached on

3、#从github下载PHP7专用的memcached组件分支
wget https://github.com/php-memcached-dev/php-memcached/archive/php7.zip
#解压备用

unzip php7.zip
cd php-memcached-php7

4、

#注意已有php的实际路径
 /opt/lampp/bin/phpize
./configure--with-php-config=/opt/lampp/bin//php-config
make&&make install

5、

编辑php.ini文件,不知道位置的话需要查找(find /  -name "php.ini"),在最后插入如下参数

extension=memcached.so

6。查看服务状态

php -m | grep memcached

7、查看网站效果

你可以去网站前台刷新几次,产生缓存,然后从官方下载探针:

http://pecl.php.net/get/memcache-3.0.8.tgz

解压(tar -zxvf  memcache-3.0.8.tgz)后,里面有一个memcache.php文件,编辑并找到如下代码:

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

 修改如下:

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);
//下面是定义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状态:

8、在wp后台【工具】选项的memcache可以查看文字版缓存信息,我觉得还是第7步的方法显示地形象一些,带圆饼图。

9、如果发现页面可以打开,但是里面没有Hits数据,说明WordPress并没有成功连接到memcached,这时候我们可以在wp-config.php最后面加入如下参数:

global $memcached_servers;
$memcached_servers = array(
    array(
        '127.0.0.1', // Memcached server IP address
         11211        // Memcached server port
    )
);

10、

实际上memcached可以缓存动态查询数据,他也可以缓存html内容!因此,memcached也能实现和其他方案一样的html纯净态缓存!

实现原理和我之前分享的php代码缓存html方案类似,不过后者更好的是将缓存内容放在了内存当中,速度比放硬盘快的绝对不是一点点。

如何将前台页面html都缓存到memcached中呢?这里,我们需要用到 batcache 这款插件。

A、WordPress后台搜索安装 batcache

B、将插件文件夹里的 advanced-cache.php 复制到wp-content即可

C、然启用缓存

在wp-config.php中启用缓存:

define('WP_CACHE', true);

不过,插件默认只会对游客缓存,显然也是怕影响到前台登录态。缓存和动态判断一直是矛与盾、鱼和熊掌,看个人抉择吧。

11、

参数调整

var $max_age =  3600; // Expire batcache items aged this many seconds (zero to disable batcache)
var $remote  =    0; // Zero disables sending buffers to remote datacenters (req/sec is never sent)
var $times   =    2; // Only batcache a page after it is accessed this many times... (two or more)
var $seconds =  0; // ...in this many seconds (zero to ignore this and use batcache immediately)

max_age代表缓存过期时间(以秒为单位),times表示访问多少次才创建缓存(2是最小值),seconds表示在多少秒之后才创建缓存(0表示立即)。

我目前也只是要用到memcache的动态缓存,所以对于batcache也只是初步了解状态,感兴趣的朋友可以自行搜索学习更多相关设置。

 

posted @ 2017-11-26 22:24  总统先生  阅读(353)  评论(0编辑  收藏  举报