小站的中文内容比较多,而且主要是给中国大陆的亲朋好友访问的。但是无奈小站的主机在美国,国内的速度怎么都上不去。一直都是个头疼的问题。
于是想在不同线路做镜像,查询了几个CDN服务商,由于以下几个原因使得问题没有办法完美解决
- 国内大部分的CDN服务商都需要备案(像盛大云、360网站宝,Webluker等等)。小站在国外,没有办法备案。
- 国外的CDN服务商在国内的线路没有优势,国内访问速度依然很慢。
- 基本上免费服务都没有对SSL的支持,而小站为了安全性,已经启用了HTTPS访问,至少在管理界面是强制HTTPS访问的。所以本打算使用WDCDN免费服务,一访问就出现问题了。
- 小站是个人网站,不打算使用收费服务,而且收费还不便宜。
于是这两天尝试了很多方法。目前采用了
两个折中的办法
1. MiniCDN
用MiniCDN的jQuery库替代Wordpress的jQuery库。因为MiniCDN的jQuery库已经分发在几个著名的物理CDN上,对于用户来说,加载它会比较快。我是简单修改WP jQuery CDN插件来加载MiniCDN的jQuery库:把“ajax.googleapis.com”替换成“c1.minicdn.com/google”
修改完之后,在WP jQuery CDN的设置里面选Google Ajax API jQuery CDN就可以了。当然有兴趣的话,把MiniCDN修改成其中一个选项也是可以的。我就到此为止了。
还有其他方法加载MiniCDN的jQuery库,可以参考我的另一篇文章:从CDN为WordPress调用jQuery
2. WDCDN和WP Super Cache
WDCDN是少有的一个提供不用备案的CDN服务的服务商。但是由于WDCDN不支持SSL,所以没有办法全站通过WDCDN分发,只有利用WP Super Cache的CDN功能做一些静态内容的分发,期望能提升一些国内的访问速度吧。将wp-includes和wp-content里面的静态内容分发到WDCDN上,并启用WP Super Cache的CDN功能。
第一步,在WDCDN添加一个本站的二级域名,例如cdn.tale365.com,WDCDN会分配一个别名给这个二级域名。
第二步,在DNS解析中设置CNAME将这个二级域名指向WDCDN分配的别名
第三步,在WP Super Cache的CDN设置里,将Off-site URL指向http://cdn.tale365.com,并Enable CDN Support。当然,在此之前要确保前面的WDCDN和DNS解析已经生效,并测试一下http://cdn.tale365.com/wp-includes/js/prototype.js是不是能够打开。
第四步,打开网页的源代码,检查静态内容是不是都已经指向cdn.tale365.com了
效果
正在测试中,未知。但是某些静态内容的分发是一定快了,整站速度还有待检测。可以看到www.tale365.com的国内ping值都非常高,而cdn.tale365.com的国内ping值都有很大的降幅。
Ping www.tale365.com
Ping cdn.tale365.com
得闲试下先
试用WDCDN和Webluker,都不是很稳定。现在在尝试加速乐……
用七牛吧,支持SSL云分发。