利用缓存插件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. skylong

    ta-thumbnails这个插件在发布文章时自动在首页生成文章内图片的缩略图,是在后台自动生成的,路径在wp-content/uploads/ta-thumbnails-cache/200×120-c/2012/12/,结果就发现这个图片没办法自动推送到又拍云上。其他正常。求指导?

  2. Summer 文章作者

    Custom file list里配置一下这个缩略图的目录试试看呢? 虽然ta-thumbnails-cache在uploads下但并不是W3TC所指的attachments。

  3. skylong

    wp-content/uploads/ta-thumbnails-cache/* , 这个*通配符能包含子一级文件夹不,这样定义了一下,没起作用。

  4. Houyonglu

    请问这个插件能不能缓存整站HTML页面?如果能,更新文章缓存的页面会不会也随之更新?

  5. Summer 文章作者

    W3TC会将访问过的页面缓存下来,更新内容或新评论等都可以触发更新缓存。

  6. Houyonglu

    请问能具体一点介绍W3TC的工作方式吗?比如说我的网站a.com/example.html缓存到又拍后,当访问站a.com/example.html的时候,是直接访问又拍还是先访问站a.com再转向又拍?

  7. xmonkey

    我也碰到类似的问题,能问一下你现在使用的w3tc和wordpress的版本么?另外wp-content目录的权限是755么?谢谢。

  8. xmonkey

    我也碰到类似的问题,能问一下你现在使用的w3tc和wordpress的版本么?另外wp-content目录的权限是755么?谢谢。

  9. xmonkey

    查了一下w3tc的log,还是ftp上传的问题。Unable to upload file (ftp_put(): Unsupport command MDTM).upyun好像本来就不支持MDTM的吧?其他人没碰到这个问题么?

  10. xmonkey

    找到我问题的原因了,因为本来用hacklog remote attachment设置的是图片空间,w3tc需要用文件空间。谢谢帮助。

  11. Pingback引用通告: 基于wordpress使用又拍云存储upyun | 米说

  12. Pingback引用通告: 利用缓存插件W3TC与又拍云构建WordPress全站CDN - WP酷

  13. Pingback引用通告: 《如何加快WordPress的奔跑速度》 – 懒人博客

  14. luanluan

    博主我想问你一下 爱范儿的那个是怎么弄的呢? 我看了他的网站代码 他的那个主题是不是放在又拍云上呢?

  15. liton

    请问博主,WP建在SAE上,安装这个插件,提示本地目录不可写,有没有其它解决办法?

  16. Summer 文章作者

    SAE上的WP是根据SAE的环境改造过的,需要遵循SAE的规则。不妨直接用SAE自己的存储服务吧,速度还是不错的。

  17. Summer 文章作者

    上海电信,Chrome下:onload: 1.20 s, DOMContentLoaded: 702 ms速度非常不错!赞!

  18. 瑞可

    博主,为什么测试FTP的时候出现:Error: Unable to make directory: test_dir_1cae9828e7dfabc8bd53954122efcef9 ()是不是已链接到又拍云的服务器上了?是不是需要在又拍云里绑定我的域名还是怎么回事?盼指教啊~

  19. Summer 文章作者

    与绑定域名无关。有可能是你WP所在的主机存在问题,可以尝试联系又拍客服人员试试看。

  20. Pingback引用通告: 又拍云提供常用JS库CDN加速服务 | 恍惚之中

  21. Pingback引用通告: Hi@Ashura.阿修罗 » 如何加快WordPress的奔跑速度

  22. Pingback引用通告: 如何加快WordPress的奔跑速度 | 小伟工作室

  23. Pingback引用通告: 利用缓存插件WP Super Cache与又拍云构建WordPress全站CDN | 恍惚之中

  24. Yellow

    测试的时候提示:Error: Unable to change directory to: 21 (ftp_chdir() [function.ftp-chdir]: No such directory.).

发表回复

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