LayerLocal CDN 已经成功安装!94 |
关于LayerLocal
96 |LayerLocal是一个基于PHP的轻巧的CDN程序,你可以利用LayerLocal快速地为你的博客或者网站搭建自己的CDN,从而加速网站的加载,提升用户体验。
98 |Layer由SaeLayerCDN修改而来。
99 |LayerLocal由LayerCDN修改而来。
100 |相比SaeLayerCDN,新版Layer的优势在于:
101 |-
102 |
- 基于SAE/BAE以及本地可写PHP环境,程序免费开源。 103 |
- 可扩展性高,可轻易移植到任何云平台。 104 |
- 防盗链保护,更省流量。 105 |
- URL刷新缓存,轻松维护。 106 |
- 自定义HTTP Host、自定义缓存后缀,极端特殊情况也能轻松使用,方便进行全站CDN。 107 |
- 内存缓存,更高效,更易管理。(开发中) 108 |
相比LayerCDN,新版LayerLocal的优势在于:
110 |-
111 |
- 修正本地PHP环境读写Bug,程序继续免费开源。 112 |
- 本地PHP环境支持带问号的静态文件。 113 |
- 本地PHP环境增加四种mime type。 114 |
- 本地PHP环境支持url跳转和read读取两种方式。 115 |
安装和使用
120 |-
122 |
- 部署代码:可以上传代码包或通过git/svn部署。 123 |
- 配置程序:如果是手动部署,则要先在SAE后台创建一个storage的domain,或者在BAE后台创建一个bucket,然后右键点击bucket设为公开读属性。然后设置index.php,修改下面的三个常量即可使用(其它特性请自行设置,有详细注解): 124 | 145 |
- 使用CDN:将网站模板中静态文件的的根目录URL替换成你的SAE/BAE/PHP应用地址,如将http://blog.creatist.cn/logo.jpg换成http://mysqecdn.sinaapp.com/logo.jpg。对于网站程序的一个建议是,设置一个$cdn_base配置变量,然后静态文件的URL根据$cdn_base生成,以后修改CDN只要配置这个变量就可以了。 146 |
- 最后,刷新你的网站。然后感受网站加载速度的飞跃。 147 |
原理
153 |大致就是取静态内容的过程中增加一个CDN层:前端从CDN取静态文件,当该文件是第一次被访问时,CDN从源服务器上取文件并保存到自己的storage里,然后返回给前端;之后就直接从CDN取而不需要再访问源服务器了。这样的好处就是在源服务器端可以实现无痛切换,不用使用像又拍CDN之类的API进行专门的编程,用户资源仍保存在源服务器上,只要将静态资源的前缀改为CDN的网址就行了,当不想使用CDN时可以再改回来。
例如,源文件地址是http://www.creatist.cn/avatar/21223.jpg(或者相对地址/avatar/21223.jpg),前端使用CDN,访问地址改成http://cdnxxx.sinaapp.com/avatar/21223.jpg(这通常是非常容易修改的)。CDN首先检查/avatar/21223.jpg在storage中是否已存在,如果存在即以前已经被访问过的话就直接取出来;如果不存在就从http://www.creatist.cn/avatar/21223.jpg保存到storage,以后就直接从storage里面取了。
CDN层还能实现其他很多功能,例如设置浏览器缓存、防盗链等等。
155 |其他
159 |Layer还在完善中,项目的Github地址是:https://github.com/oott123/Layer,欢迎fork和贡献代码。
161 |SaeLayerCDN的作者的博客是:http://blog.creatist.cn/
162 | 163 |LayerLocalCDN说明
165 |LayerLocalCDN只专注于本地PHP加速的方式,项目的Github地址是:https://github.com/yehaicao/LayerLocalCDN,欢迎fork和贡献代码。
167 |如果你有其他建议和问题,可以访问LayerLocalCDN的支持网站是:http://www.wordpressleaf.com/
168 |注意:LayerLocal只检测并修正了本地目录+文件的加速方式。本地MD5文件方式未进行测试,如果有问题请前来反馈。
169 | 170 |