MiniCDN for BAE 利用bae制作cdn加快访问速度

作用:

对于很多在国外服务器上建站的朋友来说,一些静态资源的加载速度在一定程度上也影响了网站整体的速度,现在不是流行“秒开”嘛~MiniCDN的作 用就是将一些静态文件同步放置在BAE的服务器上,当用户访问的时候,就不再从本地加载,而是从BAE上的云存储(bucket)读取。BAE无论宽带还 是速度都属一流,所以对于部分个人博客来说,通过MiniCDN来实现静态资源分发,还是有一定的加速作用的。

原理:

比如我的站有幅图片的地址为

http://blog.ferock.net/wp-includes/js/jquery/jquery.js?ver=1.8.3

而对应BAE上的资源则是

http://ferockdisk.cdn.duapp.com/wp-includes/js/jquery/jquery.js?ver=1.8.3

首先通过BAE的rewrite规则获取到资源完整路径(即域名后的images/logo.png),然后再判断资源在BAE的bucket中是 否存在,如果不存在则读取远程资源(file_get_contents),然后保存到BAE本地(BAE提供了bucket操作的各种SDK)。如果存 在,则利用PHP里的Location进行资源重定向,用户访问到的最终的地址如下:

http://bcs.duapp.com/ferock-disk-app/wp-includes/js/jquery/jquery.js

使用

0.在BAE中创建Web应用(PC Iframe),获取API Key(sk)和Secret Key(sk),并创建云存储(bucket)

1.部署代码(直接上传压缩包即可),修改config.php里的信息,主要是ak、sk、bucket名称、主站域名

2.wordpress提供了很多CDN插件,这里我推荐使用CDN Linker,这货超级简单~

3.其他程序的话,只要能修改资源指向域名就可以了,我的思路是:比如在页面中插入某函数,批量替换主域名为CDN地址~

下载

MiniCDN:下载

wordpress插件:CDN-Linker-master

 

此包可直接用于BAE环境部署,其中 app.conf 里已包含rewrite规则


Tags:

发表评论

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

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

css.php