利用缓存插件W3TC与又拍云构建WordPress全站CDN

又拍云是一个好东东,自从去年年底使用至今,稳定靠谱,价格适中,部署简单。之前有分享过使用Hacklog Remote Attachment插件来实现将WordPress的附件上传至又拍云。不过这一方法略有遗憾之处在于,无法便捷地将整个WP站点中的静态文件推送至又拍云。今天再介绍另一个方法,利用经典缓存插件W3 Total Cache与又拍云一起来实现WordPress全站CDN,具体步骤及要点如下:

1. 安装好W3 Total Cache插件,并启用。

2. 在W3 Total Cache的General Setting中启用CDN,并将类型选为Self-hosted,如下图所示。

General Settings-W3 Total Cache

3. 在插件的CDN选项中,勾选以下这些。其他的选项可以根据自己的实际情况选择是否开启。

Content Delivery Network-W3 Total Cache-1

4. 配置中,填入在又拍后台中设定的FTP用户名、密码等信息,FTP主机推荐使用v0.ftp.upyun.com。FTP路径建议根据自己域名下的实际路径填写;如果网站中的子站为二级域名,最好每个单独创建又拍存储空间。主机名中,可根据自己的情况填写,如果在又拍上绑定过独立域名,可填写独立域名;最后不要忘记点击Add CNAME。

Content Delivery Network-W3 Total Cache-2

5. 这些都设置好了之后,最后一步就是将当前空间中的附件、JS以及wp-includes等静态文件都用FTP上传至又拍空间即可。

 

最终采用这样组合的好处是:

  • 可以将WordPress整站的静态文件都推送到又拍云的CDN服务中;
  • 更新内容时上传的附件,会正常存储在WP所在服务器并推送至又拍云,访客浏览时会自动请求又拍云,数据双保险且无任何额外操作;
  • 在WP后台修改模板等,也会被更新到又拍云;
  • 日后如果需要更换CDN服务,期间网站访问基本不会受到影响。

 

2013年4月26日更新:延伸阅读《利用缓存插件WP Super Cache与又拍云构建WordPress全站CDN

 

利用缓存插件W3TC与又拍云构建WordPress全站CDN》有88个想法

  1. 小浩子

    我关心的是,W3TC是不是能与Hacklog Remote Attachment共存相互搭配使用呢? 例如我撰写文章上传附件时通过Hacklog Remote Attachment上传至又拍云,网站的一些模板、缓存等数据通过W3TC进行CDN加速呢?

  2. Summer 文章作者

    @小浩子, 我是将全站所有的静态文件(包括上传的附件)都同时推送到了又拍云——因为又拍云本身已有CDN效果。在W3TC的General Setting中不要勾选Host Attachment这一项,应该就能实现你的需求。Ps:你最好先测试一下所用的CDN服务商是否被W3TC直接支持。

  3. 小浩子

    @Summer, 你所说的静态文件包括.php .css 程序文件和.htm静态缓存文件吗?我要是用的话也就和你一样用又拍云了,因为我今天申请webluker被拒,原因是不接受博客。。我的想法是,我目前的服务器空间速度很慢,想用又拍云提速,现在担心的是提速会不会很明显。

  4. Summer 文章作者

    @小浩子, webluker之前有用过一段时间,是传统意义的全局CDN而非云存储,个人觉得加速效果有限。我指的静态文件是CSS、JS、上传的附件等文件;页面缓存、数据库缓存,我都通过W3TC缓存在服务器磁盘上了。又拍云可以先联系客服申请试用;你测试觉得有效再购买吧。Ps: 我这里有折扣码:)

  5. 小浩子

    大大,我现在购买了又拍云空间,虽然W3TC的界面比较复杂,但是按照你的方式进行了设置,加速效果很明显,现在还有一个问题,软件是自动把cache到的页面放到又拍云CDN服务器,然后网友访问时自动选择最快的服务器的吗?果然是高深,大家看到这个页面的也可以来一起探讨,生活就要折腾嘛

  6. 小浩子

    @Summer, 555,悲剧了Summer大,我已经买好了,晚了,555,桑心了,大大真是好人

  7. Summer 文章作者

    @小浩子, W3TC对WP页面及数据库查询的缓存一般会存放在你站点所在服务器空间的磁盘上——这样可以将大量重复的查询缓存下来,以提速。另一方面,静态文件会推送到又拍云,这部分的访问,又拍云会通过自己的CDN,让访问者自动请求到最快的节点上进行加速。

  8. 小浩子

    @Summer, 大大,你看下我留下的邮箱加下我QQ好吗? 详细探讨一下更问题,多谢啦,要不。。送给你个小米手机F码

  9. Pingback引用通告: 关于使用又拍云存储提升WordPress网站性能的几点讨论 | 恍惚之中

  10. Pingback引用通告: W3 Total Cache插件与又拍云搭建WordPress全站CDN加速 | 周良博客

  11. Summer

    并不需要特殊设置,就像平常上传附件一样就好,它会自动推送一份去upyun的。

  12. zmz

    现在的东西呢,总是上传不上去,主题什么的。感觉有点不懂,尤其是。
    这些都设置好了之后,最后一步就是将当前空间中的附件、JS以及wp-includes等静态文件都用FTP上传至又拍空间即可。
    最后一步。

  13. Summer

    这一步是需要把你当前服务器空间上的附件、JS以及wp-includes等静态文件用FTP软件先下载到本地,再用FTP软件上传到upyun的对应目录里去。Ps:在这之后,新上传的附件是不再需要单独处理的。

  14. Summer

    这一步是需要把你当前服务器空间上的附件、JS以及wp-includes等静态文件用FTP软件先下载到本地,再用FTP软件上传到upyun的对应目录里去。Ps:在这之后,新上传的附件是不再需要单独处理的。

  15. Summer

    这不是一个选项哦,而是一个操作——点击后会由你空间服务器直接往upyun上上传这些东东。但根据我自己测试的体会,上传的速度巨慢无比,不知道是不是我在国外主机的缘故。

  16. zmz

    他不是还有向又拍请求一些资源多了请求,也不知道对优化有多大用处

  17. Summer

    你需要对wordpress本身多一些了解哟,你把W3TC插件中提到的那些WP静态文件所在的目录手工上传到upyun。如果日后不想用了,只需要禁用W3TC中的CDN项就好了,它会自动切换回到本地服务器上读取的。 Ps: 我在后面一篇文章中有说,如果用的是国内主机且速度不错,或是站点流量不大、大图不多,倒是可以不必急于引用upyun,毕竟这是一项优化,用在合适的时候会更有效果:D

  18. zmz

    有看到那个,不过想玩玩,那个w3tc的结构,貌似和wp的季后不太一样。。。

  19. Summer

    Hi~ 如果WP所在网站空间建构不复杂,这一项留空就好。 如果需要指定FTP目录,就填写FTP目录名。

  20. Summer

    你说的这个问题我也是第一次见到。重新安装一下插件,再检查一下插件所在目录权限是否正常吧。其他我也暂时没啥思路咧~

  21. Pingback引用通告: 如何加快WordPress的奔跑速度 » Deecoct

  22. 侯永禄

    请问如果我的网站使用的是海外的主机,而且出现了故障(无法访问),CDN是否会受到影响?

  23. Summer

    CDN不会因为网站主机故障而不可用。但介于网站主机都已经无法访问了,网站自然无法访问,即便CDN仍在正常工作。

  24. Pingback引用通告: 如何加快WORDPRESS的奔跑速度?提高wordpress速度 - 中文吧

  25. pestwave

    通过博主的邀请码买了又拍云。非常好的文章,w3tc+又拍云的加速效果很明显。现在遇到一个问题:每次写文章时,图片可以自动同步到又拍云,但是文件以中文字符开头的中文字符会被去掉了,造成了文章中的图片无法显示,因此图片不能使用中文字符,只能手动上传一份,或者在又拍云那里改成和原服务器一样的名字。不知道博主有没有更好的办法解决文件推送时的文件名首字母问题?期待回复。

  26. Summer 文章作者

    Hi~ 我试了一下,确实存在你提到的这个问题。我觉得比较好的解决方法是:不要使用中文字符作为上传文件的文件名。文件名用英文、数字、连字符等会比较稳妥。若担心在WP中管理文件时不好区分,可以上传时填写title等属性。

  27. Pingback引用通告: 提速!W3TC 与 又拍云 实现全站CDN效果!——My Name Is SkyLong

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注