网站建设

WordPress结合阿里云OCS开启高速缓存,优化网站响应速度

Jager · 3月5日 · 2015年 · 4042次已读

自从搬到阿里云ECS,可谓惊喜连连,虽然转入备案严苛了点,但确实不虚此行。除了ECS和云磁盘的稳定性,比较实用的还有:利用云盾WAF隐藏网站真实IP、利用自动快照备份系统及数据等。今天查看阿里云控制台时发现了另外2个免费功能: 开放缓存服务OCS 和 开放搜索服务OpenSearch。

开放搜索服务OpenSearch,看了半天大概了解了下功能,发现我用不上,申请后就放到一边了:WordPress结合阿里云OCS开启高速缓存,优化网站响应速度 WordPress结合阿里云OCS开启高速缓存,优化网站响应速度

再看OCS,发现它其实就相当于一个云端的Memcache,与本地MemCache相同之处在于OCS兼容Memcached协议,与用户环境兼容,可直接用于OCS服务,不同之处在于硬件和数据部署在云端,有完善的基础设施、网络安全保障、系统维护服务。

看了半天的OCS的WIKI,感觉要是从零开发对我来说还是门槛太高。于是翻翻看看有没有适合自己的“拿来主义”,结果还真有:《OCS与WordPress结合使用教程》,写得也非常详细直白,分分钟就部署好了。

下面分享简单的部署记录:

一、开通OCS

阿里云最喜欢的招数就是免费体验,以此来吸收用户,比如半年的ECS和RDS等。但是这个128MB的OCS却没有时间限制,只要你有ECS就能申请并使用了:

WordPress结合阿里云OCS开启高速缓存,优化网站响应速度

OCS免费体验规则
  • 实名认证的ECS用户均可免费开通128M的OCS;
  • 每个用户只能开通一个128M的免费OCS,该免费实例释放后用户可再次开通128M的免费OCS;
  • 用户开通128M免费OCS后,可以将该实例升配至其他档位的OCS(如512M、1G等),变配之后的费用按照该档位对应的计费标准计费;
  • 用户若已有OCS其他档位的收费实例,也可以将该实例降配至128M免费实例,变配之前的费用仍按该档位对应的计费标准计费,变配之后的128M实例免费;
  • 本活动最终解释权归阿里云所有。

128MB可以用来做什么?对于我们这种WordPress博客已经是绰绰有余了。不用白不用,顺手就申请了。

申请地址:http://free.aliyun.com/?tab=OCS

二、部署OCS

①、先进入OCS管理控制台,记住实例ID,内网地址、用户名及密码等(貌似第一次要重置下密码,反正我是不知道密码是多少)。

WordPress结合阿里云OCS开启高速缓存,优化网站响应速度

②、下载WordPress缓存插件(OCS配置文件)

③、解压后得到如下三个文件:

WordPress结合阿里云OCS开启高速缓存,优化网站响应速度

④、修改配置

A. 编辑object-cache.php,定位到96行的array数组,根据模板提示修改成你的连接配置即可,具体函数代码如下:

function wp_cache_init() {
	global $wp_object_cache, $sasl_memcached_config;
	$wp_object_cache = new WP_Object_Cache();
	if ( isset( $sasl_memcached_config ) && is_array( $sasl_memcached_config ) ) {
		$wp_object_cache->load_from_config( $sasl_memcached_config );
	} else {
		$wp_object_cache->load_from_config(array(
			'default' => array(
                                #修改下面这个数组中的连接信息:
				array(
                                    'host' => '你的OCS的内网地址.ocs.aliyuncs.com',
                                    'port' => '11211',
                                    'user' => '实例ID',
                                    'pass' => '密码',
				),
			),
		));
	}
}

保存后将这3个php文件上传到WordPress的wp-content目录(不含文件夹)。

B. 编辑WordPress网站根目录的配置文件:wp-config.php,在require_once(ABSPATH . ‘wp-settings.php’);之前加上如下代码激活缓存即可:

define('WP_CACHE',true);

现在登陆你的WordPress后台插件界面,在高级插件选项就能看到刚刚新增的高级缓存插件了:

WordPress结合阿里云OCS开启高速缓存,优化网站响应速度

三、实时监控

至此,你的WordPress便搭上OCS的快车啦,现在就可以在OCS的控制台查看命中率等信息了,其他有关缓存的配置,可在advanced-cache.php中修改(例如设置cache build的次数var $times等,回头再研究…)

WordPress结合阿里云OCS开启高速缓存,优化网站响应速度

对于张戈博客这种纯静态缓存之后的WordPress,用处可能有点鸡肋,也就是在缓存新建或是有人点击博客的评论刷新功能时能有点作用。但是,对于那种没有纯静态缓存,却用着数据库缓存插件,比如Hyper Cache的朋友,那这个OCS就是更好的选择了,当然前提是你是阿里云ECS用户。。。

好了,就记录这么多了,正在用阿里云ECS的朋友可以大胆试试看了。

36 条回应
  1. 梦想网络 2015-3-5 · 12:56

    一次没用过阿里云的东西。。。不敢备案啊。
    元宵快乐,博主。

  2. 懿古今 2015-3-5 · 13:24

    看起来高大上很多啊,我们还是在使用最低端的虚拟主机呢,羡慕

    • Jager 2015-3-5 · 13:56

      也是我爱折腾,没办法,虚拟主机施展不开~~ 😆

      • 懿古今 2015-3-5 · 16:22

        这个倒是,技术高手折腾起来还是很给力的,所以机子也要跟得上才行。

  3. 暴博客 2015-3-5 · 14:16

    元宵节快乐

  4. 回梦无痕 2015-3-6 · 16:10

    其实如果细心的话。可以发现wp super cache插件在启用ocs/Memcached后,在高级选项里会多了一个选项。貌似功能好像是把生成的静态文件放到内存里面去的而不是原来的把数据库缓存到内存,使得读取静态文件更加快!我尝试过,只是总有问题,发文章时候文章的状态不能正确变更为已发表!博主技术高明,可以捣鼓捣鼓,我不会php的看不懂代码!

    • Jager 2015-3-6 · 16:12

      按我文章分享的OCS部署方法,应该没有什么门槛,比较简单,缓存命中率还行。

      • 回梦无痕 2015-3-6 · 16:17

        部署是没问题。只是本来能和wp super cache配合起来使用,把静态文件放进进内存的。但是却有问题不会弄而已!

        • Jager 2015-3-6 · 16:24

          哦,我没用super这个插件,我直接写的代码缓存html。

  5. 极品飞鸽 2015-3-6 · 22:43

    这个功能我用过,但是主题不是前台页面样式变形就是后天页面变形,哎,搞的我直接放弃了,但是用了之后速度确实提高了很多,完全杠杠的

    • Jager 2015-3-6 · 22:44

      OCS和主题样式一毛钱关系都没有的。。。只缓存数据库内容,估计你配置不当。

      • 极品飞鸽 2015-3-6 · 22:48

        这配置就这么简单,完全没啥难点,反正一直没搞懂问题出哪儿

  6. 圆月博客 2015-3-7 · 11:41

    阿里云的貌似还真不错

  7. sistrong 2015-3-7 · 17:45

    为啥我开启OCS缓冲后网站访问后立马变慢啊?不懂啥原因

  8. 笑三笑 2015-3-9 · 9:44

    看了下,觉得还是升级带宽好了

  9. 穆绪方博客 2015-3-11 · 15:58

    看来我也要搬家到阿里云才能跟上博主的脚步啊!

  10. 微饭 2015-3-19 · 22:47

    博主你提供的OCS插件貌似漏掉了一个文件:batcache.php 这文件是释放到【wp-content/plugins】目录的。

    可以看一下:WordPress Ocs加速插件使用教程

    • Jager 2015-3-20 · 12:58

      恩,你说的应该是一个可选优化。我这文章是参考阿里云的WIKI写的,可能阿里那边把这个丢弃了,要是效果不错的话,有时间在文章中加上。
      搜索看了下,发现是一个缓冲页面到内存的插件,我这边是纯静态,所以也就没必要了。

      • 微饭 2015-3-20 · 13:20

        对于那些新手而言,这插件应该还是比较有作用的

  11. 小舞 2015-3-29 · 21:50

    后来我在多梦看到一篇,不用插件的,分享下,希望对你有帮助http://bbs.aliyun.com/read/203616.html?pos=2&spm=5176.7114037.1996646101.4.cXLqNi
    也让你看看有什么不足的地方

    • Jager 2015-3-30 · 12:57

      感谢分享,确实更简单,我待会试试。

    • Jager 2015-3-30 · 16:15

      亲自测试了下,估计大部分人用他这个方法后台会白屏。实测发现,他这个方法需要服务器支持php的memcache模块,没有的话后台就会白屏,开启debug会提示缺少memcache() 这个class方法。

      • 小舞 2015-3-31 · 11:59

        我之前也试过了,这个必须得现在服务器上安装memcache

        • Jager 2015-3-31 · 12:42

          那比我的方法门槛更高,我这个文章适合小白一些。除非已经支持memcache的主机。。。

  12. 小武 2015-3-30 · 15:30

    对于服务器这块确实搞不太懂. . OCS和缓存插件需要共存? 还是替代?

    • Jager 2015-3-31 · 12:43

      OCS主要缓存数据。

  13. 新疆SEO 2015-4-9 · 0:19

    发现楼主的博客就是一个宝藏啊。 学知识的地方呢

  14. 脑精网 2015-4-21 · 23:07

    跑到阿里云上面我就打退堂鼓,呀的,可比虚拟主机难操作多了,还要创建什么的应用,一头雾水。

  15. 集影窝 2015-5-20 · 23:05

    确实给力,博主的博客弄的不错。

    • Jager 2015-5-21 · 0:00

      有空常来逛逛。

  16. 折八百 2015-7-14 · 19:47

    楼主,我按照你的方法安装了,后台显示正常,可是前台会白屏哦,我的wordpress 3.8

    我服务器本身安装了Memcached,会不会是这个原因了?

  17. 如何卸载 2016-3-9 · 20:41

    按照张哥的教程,在Wordpress上安装了这个,可是现在问题来了,
    我在阿里云释放了Ocs,现在网站打不开了。貌似这个高级插件没法直接卸载?

    • Jager 2016-3-10 · 10:30

      把之前上传到 wp-content 目录的 3个 php文件删除即可

  18. 一曲长歌辞烟雨 2016-12-3 · 12:16

    现在OCS好像收费了呢。。我还是在本地搭建Memcached吧

  19. 君宇网络 2017-10-22 · 8:21

    一直在用ECS服务器,但是OCS还不了解

  20. 享乐时光 2018-8-2 · 13:01

    老哥,这个方法好像不行了呢