如果不用内存缓存技术来给缙哥哥的博客进行加速,你会觉得非常非常卡。而在宝塔下运行 Memcached 加速缙哥哥的博客(WordPress),缙哥哥初步估计速度上至少提升了5-10倍以上。今天基础知识就不讲了,有想了解的,可以看看缙哥哥以往的文章:
宝塔Linux安装Memcached
- 首先安装Memcached,宝塔后台 – 软件管理 – 运行环境 – 安装Memcached,需要一段时间来安装
- php安装Memcached
在php中选择设置 – 安装扩展 – memcached,注意选择以d结尾的
WordPress程序配置Memcached
环境都装好以后,就可以正式为网站配置Memcached了
- 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 目录下 - batcache插件
安装好Memcached插件后,如果还想要继续优化,可以选择batcache插件,和Memcached插件安装方法一样
下载地址1 https://github.com/Automattic/batcache
下载地址2 batcache-master.zip
下载完成后,将advanced-cache.php 上传到 wp-content目录下
至此,插件以安装完成,这个时候你的wp-content文件夹的目录结构如下图 最后在网站根目录下的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);
- 检查缓存插件是否开启
wordpress后台
-插件
-Drop-in高级插件
查看memcached缓存效率
如何查看安装好之后的memcached工作效率呢?有两种方法,一个是宝塔自带的服务状态,另一个是第三方php文件。
回到软件管理,找到蓝色M字样的Memcached,再点击右侧的“设置”。看到memcached管理界面。
- 服务:停止、重启、重载配置。
- 配置修改:如果不懂代码的话,不要伸手,后果自负。
- 负载状态:memcached运行中的相关状态。其中最重要的是hit这个参数,也就是命中率。当然是越高越好了。
- 性能调整:前面IP和端口不要改。缓存大小根据实际情况调整。根据什么来调整呢?回到负载状态栏,有一个“当前已使用内存”,看这个数字来调整。比如默认分配给memcached一共64M内存,但是已使用内存62M就说明memcached可用内存快要满了,这时候就手动改大一点,比如128M。具体数字根据每天流量情况来定。
- Memcached的目的就是把所有文章内容都扔进内存,这样用户来访时直接读取内存中的内容,跳过了数据库,所以使用memcached后网站打开感觉特别快。比如网站每天发几十篇文章,可能这个数字就调整大一点,防止不够用了。
探针查看效果
- 退出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 状态: