DeveWork

WordPress 中使用 七牛云存储 加速图片等静态文件访问速度

最近将Jeff的两个网站(Jeff的阳台、DeveWork.com)的图片与主题的css、js都托管到七牛云存储上了。因此,你现在访问这两个站点,访问速度都是非常乐观的;如果不乐观,应该是你的网速问题了。接下来就介绍一下七牛云存储 以及如何将它与WordPress 无缝结合,实现的目的是:WordPress 站点上所有的图片以及CSS、JS等静态文件都采用七牛云存储的CDN 加速。

关于七牛云存储

有关七牛云存储的介绍请往 Jeff的阳台的《使用 七牛云存储 给力CDN加速图片等静态文件(附相关教程)》一文中了解。

在这里给出七牛云存储注册链接:点击进入  或推荐码: 2b644slk8cv9t ;通过这个链接或使用该推荐码注册,对你我都有好处,谢谢你的支持。目前注册可永久获得免费额度:每月10GB流量+总空间10GB+PUT/DELETE 10万次请求+GET 100万次请求(应付一个小网站绰绰有余)。

接下来就分别介绍“WordPress 站点的图片使用七牛云存储加速的方法”与“WordPress主题的CSS、JS文件使用七牛云存储加速”的方法。

WordPress 站点的图片使用七牛云存储进行CDN 加速的方法

首先说明,该方法的前提是你的文章中的图片都是放在一个二级域名里面的(二级域名做WordPress图片存储路径),而不是直接上传到wp-upload 文件夹的;请事先通过《图床么?不如用二级域名做WordPress图片存储路径》进行设置。

在这个基础上,如果要加速你的图片,那么可以使用七牛云存储的 “镜像存储(源站加速)”功能。这个其实是传统的CDN 加速,不过七牛目前由于前台的设置上不太完善,因此整个过程还是需要讲解讲解。

Jeff 以DeveWork.com为例子,为各位演示一下过程:

首先登陆七牛后台,比如说我的图片都是放在一个二级域名 1.devework.com ,现在我想镜像 1.devework.com 的内容,那么我需要在七牛后台新建一个空间,命名为devework。

然后选择该空间进入,点击选择“空间设置”,再选择“镜像存储”,输入要加速的源站域名,如我的是 1.devework.com。

在你建立了一个空间后,你就有了个七牛给的二级域名 devework.qiniudn.com ,对于域名,你可以使用自定义域名绑定(不过根域名一定要已经备案,申请绑定后需要发送相关备案资料给客服审核,时间大概是三个工作日)。如图,我绑定了域名 2.devework.com

自定义域名审核通过了之后需要在DNS那里进行CNAME解析,如我在DNSpod 那里将此解析到七牛给的二级域名 devework.qiniudn.com 。

关于为什么不能绑定为源域名的问题:
如果你使用过CDN服务的话,你就知道我加速哪个源站域名,就直接以源站域名来解析,最后访问文件还是在源域名。但是在七牛这里就非常奇怪,无论怎样,你都不能通过访问源域名去访问源文件,而要另外的域名(七牛的二级域名或者自定义域名)。这点我也问过客服,他说其实也可以实现传统CDN 的效果,但是比较麻烦。

最后,你需要修改源文件的url为那个七牛的二级域或者自定义域名,如果你使用的是 WordPress,那么就直接在PHPMyadmin后台通过MySQL命令批量修改了。

比如我需要将1.devework.com 批量替换为 2.devework.com,那么只需要在PHPMyadmin后台,点击SQL,输入以下指令按执行即可:

update wp_posts set post_content=replace(post_content,'1.devework.com','2.devework.com')

WordPress数据库里面几个重点替换的表和字段:
表wp_posts里面的post_content (文章内容)
表wp_posts里面的pinged (ping内容)
表wp_posts里面的guid (WordPress默认链接结构)
表wp_comments里面的comment_author_url (留言作者URL地址 )

WordPress主题的CSS、JS文件使用七牛云存储进行CDN 加速的方法

将WordPress主题的CSS、JS文件使用七牛云存储进行CDN 加速固然可以直接修改源代码为相应的url,但是这个又费力又费时,以后要改回来又麻烦。因此在这里推荐我爱水煮鱼的一个七牛镜像存储 WordPress 插件。【点击查看

下载安装后,在 WordPress 后台 > 设置 > 七牛镜像存储 输入你前面绑定的域名,勾选“将主题中的 JS,CSS 和背景图片也缓存到七牛”:

之后,主题所有的CSS、JS文件都会托管到七牛的服务器上,包括CSS文件中的图片。

不过经过 Jeff的亲自使用,发现这个插件有一点点问题。虽然我不懂php,但这个插件的css、js文件替换为七牛的功能貌似是将所指代的url换成七牛的,如此一来只要WordPress 主题中地址包含有这个函数的的文件(包括php文件)表示都会被替换,因此像timthumb.php失效了,除非改成静态的相对路径。不得不说,这是一个bug。

所以,如果启用后发现主题一些功能不正常,可能就是这个原因。

写在最后

当然,七牛云存储的功能远远大于Jeff 在上面所说的,七牛云存储面对的其实是企业市场,服务的对象更多是互联网开发者。上面介绍的其实是很基础的一些用法,七牛云存储的高级功能远远高于如此,诸如图片、音频/视频/流媒体处理、qboxrsctl等等才是他们的核心竞争力;也因此在这一点上,七牛云存储比又拍云存储貌似更给力一点,价格上貌似也更便宜。更多只有你使用过才知道了(比如说,七牛中文件的上传是没有新建文件夹的概念的)。