如果不用内存缓存技术来给缙哥哥的博客进行加速,你会觉得非常非常卡。而在宝塔下运行 Memcached 加速缙哥哥的博客(WordPress),缙哥哥初步估计速度上至少提升了5-10倍以上。今天基础知识就不讲了,有想了解的,可以看看缙哥哥以往的文章:

宝塔Linux安装Memcached

  1. 首先安装Memcached,宝塔后台 – 软件管理 – 运行环境 – 安装Memcached,需要一段时间来安装

1.png

  1. php安装Memcached
    在php中选择设置 – 安装扩展 – memcached,注意选择以d结尾的
    1.png

WordPress程序配置Memcached

环境都装好以后,就可以正式为网站配置Memcached了
  1. Memcached插件
    首先我们安装一个wordpress的Memcached的文件
    下载地址1 https://github.com/tollmanz/wordpress-pecl-memcached-object-cache
    下载地址2 wordpress-pecl-memcached-object-cache-master.zip
    下载完成后,我们将其中的 object-cache.php 文件上传的wordpress的 wp-content 目录下
    1.png
  2. batcache插件
    安装好Memcached插件后,如果还想要继续优化,可以选择batcache插件,和Memcached插件安装方法一样
    下载地址1 https://github.com/Automattic/batcache
    下载地址2 batcache-master.zip
    1.png
    下载完成后,将advanced-cache.php 上传到 wp-content目录下
    至此,插件以安装完成,这个时候你的wp-content文件夹的目录结构如下图
    20180605142230-56-22.jpg
  3. 最后在网站根目录下的wp-config.php中添加如下语句开启缓存

    //是激活Batcache(功能说明https://www.dujin.org/11458.html)
    define('ENABLE_CACHE', true);
    
    //这段是激活Memcached(功能说明https://www.dujin.org/11458.html)
    define('WP_CACHE', true);

1.png

  1. 检查缓存插件是否开启
    wordpress后台-插件-Drop-in高级插件
    1.png

查看memcached缓存效率

如何查看安装好之后的memcached工作效率呢?有两种方法,一个是宝塔自带的服务状态,另一个是第三方php文件。
  1. 回到软件管理,找到蓝色M字样的Memcached,再点击右侧的“设置”。看到memcached管理界面。
    1.png

    • 服务:停止、重启、重载配置。
    • 配置修改:如果不懂代码的话,不要伸手,后果自负。
    • 负载状态:memcached运行中的相关状态。其中最重要的是hit这个参数,也就是命中率。当然是越高越好了。
    • 性能调整:前面IP和端口不要改。缓存大小根据实际情况调整。根据什么来调整呢?回到负载状态栏,有一个“当前已使用内存”,看这个数字来调整。比如默认分配给memcached一共64M内存,但是已使用内存62M就说明memcached可用内存快要满了,这时候就手动改大一点,比如128M。具体数字根据每天流量情况来定。
    • Memcached的目的就是把所有文章内容都扔进内存,这样用户来访时直接读取内存中的内容,跳过了数据库,所以使用memcached后网站打开感觉特别快。比如网站每天发几十篇文章,可能这个数字就调整大一点,防止不够用了。
  2. 探针查看效果

    • 退出WordPress,你可以去网站前台刷新几次,产生缓存,然后从官方下载探针:
    • http://pecl.php.net/get/memcache-3.0.8.tgz
    • memcache-3.0.8.zip
    • 解压后,里面有一个 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 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 状态:1.png
    1.png
最后修改:2019 年 04 月 20 日
如果觉得我的文章对你有用,请随意赞赏