LayerCDN 为博客加速到国内,成功开启香港CDN节点(含Nginx规则)
近期朋友购买了香港的云VPS,但是我的博客一直在美国机房,速度极慢。因为我只有FTP权限(说实话这FTP空间也是蹭的),只好想到利用CDN的办法。作为国内的SAE与BAE优秀的开发者免费空间,有些人已经打起了他们注意,设计了一套CDN方案,解决了国内域名备案难题。
LayerCDN就是安装到CDN服务器上的一款基于PHP的软件,配置也不是多么复杂。并且还是一款开源项目。
至于PHP程序的安装我就不多说了,无非是下载(上传)然后解压一下。
然后我们打开LayerCDN文件夹下的config.sample.inc.php配置文件。
修改下配置
<?php //Layer CDN 设定 /**********基本设定**********/ define('STATIC_URL','https://xcroot.com/'); //源站URL define('DOMAIN','layercdn'); //使用云存储时,填写存储空间的名字;使用本地存储时,填写存储的相对路径。 define('WELCOME_DOC',TURE); //空请求时是否显示欢迎界面 /*********防盗链设定*********/ define('ALLOW_REGX','.*'); //设置防盗链允许的[域名]正则表达式,此表达式只匹配referer的域名部分 //define('ALLOW_REGX','^(best33\.com|.*\.best33\.com|)$'); //允许best33.com,*.best33.com,浏览器直接访问 //define('ALLOW_REGX','^(best33\.com|.*\.best33\.com)$'); //允许best33.com,*.best33.com,不允许浏览器直接访问 //define('ALLOW_REGX','^(.*)$'); //允许任意,允许浏览器访问 //define('ALLOW_REGX','^(.+)$'); //允许任意,但不允许浏览器访问 /**********进阶设定**********/ define('PURGE_KEY','purge'); //刷新缓存的密码,访问http://domain/PURGE_KEY/path/to/file来刷新缓存。 define('MIME','text/html'); //默认MIME类型,可以设为application/octet-stream则对未知项目自动弹出下载。 define('DIRECT_EXT','php|asp|htm|html'); //不进入缓存的扩展名,安全起见不要删除PHP。 define('NO_LOCATE',false); //设置后将不进行跳转而采用read读取方式,可能会降低速度并增加流量。仅当遇到问题时启用。 define('NO_KEY',true); //启用后将不再使用一串md5编码的key作为文件名,当想保持文件名一致时启用之。 define('NO_SECOND_FLODER',true); //启用后将不再使用两层文件夹存储缓存,仅在本地环境、NO_KEY为假时有效。 define('STATIC_HOST',''); //可以留空,也可以在这里填写你的源站域名,而在STATIC_URL中填写IP,减少域名解析的时间。 /**********高级设定**********/ //define('RUN_ENV', 'GCS'); //自定义运行环境(如不去掉前面的//则自动判断)可选:BAE/SAE/GCS/LOCAL 请大写 //define('CS_AK','dummy'); //自定义云存储空间的Access Token,通常不需要 //define('CS_SK','dummy'); //自定义云存储空间的Secret Token,通常不需要
清晰的代码注释,让人很好理解。我只改动了5-7行
define('STATIC_URL','https://xcroot.com/'); //源站URL define('DOMAIN','layercdn'); //使用云存储时,填写存储空间的名字;使用本地存储时,填写存储的相对路径。 define('WELCOME_DOC',FALSE); //空请求时是否显示欢迎界面
第一个是写你存放网站源码的地方。第二个倒是无所谓,这个是BAE,SAE等配置使用的–。第三个,如果打为FALSE就屏蔽了CDN程序的广告页面。姑且称为广告页,其实也就是作者写的教程和配置方法。你每次访问CDN首页都是他,关掉后就是你博客主页了。这倒也无所谓。一般访问的都是你的主域名。另外官方带的是Apache的规则,用nginx服务器的就没法用了。我转换了并且整体打包了,点我下载
配置完成后你为该主机解析的域名,方便后面填写,一级二级收费免费无所谓,并不影响网站访问。
目前常规博客WordPress的缓存插件已经集成(WP Super Cache 和?W3?Total?Cache)
这里简单说下WP Super Cache,下载该插件并启用(如果启用出现问题就注意下php权限是否均设置位755)。然后找到CDN选择卡。点开后,其他均不做修改,仅仅修改一下Off-site URL为你刚刚解析到CDN服务器的域名,并且在开启CDN加速上打勾。
而对于其他网站你可以按以下两点操作(摘自LayerCDN?作者博客)
- 将网站模板中静态文件的的根目录URL替换成你的SAE应用地址,如将http://blog.creatist.cn/logo.jpg换成http://mysqecdn.sinaapp.com/logo.jpg。对于网站程序的一个建议是,设置一个$cdn_base配置变量,然后静态文件的URL根据$cdn_base生成,以后修改CDN只要配置这个变量就可以了。
- 最后,刷新你的网站。然后感受网站加载速度的飞跃。
不知道博主有没有发现,这样搭建后是没有缓存图片在本地的,而是每次访问都获取一次,跟直接用自己的没什么两样,是程序里哪出了错误,如果博主知道还望告知!
当初 各种bug出来 然后没办法了 我就撤掉了 这个程序好像还是有点问题的