用GAE(Google App Engine)搭建自己的CDN
这种想法在网络技术高速发展的今天,似乎有点落伍了。如果你是专业从事互联网的技术人员,甚至是负责优化公司网站的专家,自己的小站也别忘记适当地优化一下,好像只有雅虎的人平时谈论这个问题比较多,是因为雅虎发明了YSlow和一套检验网站性能的机制?如果你使用的是Firefox,可以安装YSlow,来查看自己网站的性能,根据提示进行优化。总结一下,作为个站,可以做的优化工作大概这么几个:
使用更少的HTTP请求;
使用CDN
把CSS放在页面顶部(放<head>里)
把JS放在页面底部(紧跟着放</body>前就行)
这是最基本地,3,4条最容易做到。第1条,多半是由于你的blog皮肤样式里使用了很多图片,建议采用CSS Sprites把像icon这类的小图片合并在一个图片里,通过CSS控制背景位置来调用不同icon,这样只需要发送一次HTTP请求,取一张图片回来就搞定了。
这里我主要来解决第2条–”使用CDN”的问题(先了解一下CDN是什么)。Google真是个好东西,总能提供一些很实用的服务。我的CDN就是利用Google App Engine来搭建的。首先做一些准备活动,需要安装一些小程序到你的电脑上,配置一些文件,但这些工作只需要做一次,之后使用时只需要运行一下程序,就可以把文件同步到Google了。
简单描述下工作原理。SVN用过吧?这个类似。
建立一个文件夹,里面放你的文件和文件夹,修改一个配置文件,把里面的application name改成你自己的。
通过Google App Engine SDK同步你的这个文件夹到Google服务器上。类似SVN的update或check in。
我是在?Mac下工作的,先说说在Mac下怎么做:
Google App Engine是基于Python的,Mac和Linux的用户不用装,系统本身就支持。
下载Mac版的Google App Engine SDK并安装,都使用默认安装就可以了。
在appengine.google.com登录。当然你要先有Google帐号,用你的Gmail帐号就行了,如果没有注册一个也不麻烦。
登录以后,先点击”Create an Application”创建一个application,并给它取个名字。它必须是唯一且没被使用过的,所以我起的叫”b3insidecdn”,既不重复又好记。然后保存。第一次创建application时需要输入你的手机号码(形如:+8613800138000),用于接收Google发的确认短信,确认你是Google App Engine帐号的主人。同时也为了防止spam,呵呵。
下载这个文件: PPSpot.com/files/b3insidecdn.zip” target=”_blank”>http://b3insidecdn.appspot.com/files/b3insidecdn.zip,我把它解压后放在”GoogleApp”的文件夹里(当然,这个文件夹名随便起)。
用文本编辑器修改app.yaml.把”application:b3insidecdn”改成你自己的”application:<你的application名字>”并保存。这个配置用来告诉Google App Engine你要上传的是哪些文件。
呼~ 现在把你要上传的图片, css, js, 甚至视频放到你本地的这个文件夹中。我把图片都放在/img里,别的文件也放在子文件夹里,方便管理,如/css/b3inside.com/style.css。
运行你安装的GoogleAppEngineLauncher.app,然后”File”-”New Application”,按下图填写,端口不要用80,因为你机器上还有Apache在跑。之后点”Create”创建即可。
上一步将SDK和你本地文件夹做好连接后,就大功告成了。以后把要上传的文件放在你的文件夹里,通过GoogleAppEngineLauncher把它们Deploy到Google上就行了。
好了,快去访问一下你的CDN吧,看看它是否已经正常工作了。用这个地址:<你的应用名>.appspot.com/img/welcome.gif(我的是:b3insidecdn.appspot.com/img/logo_alpha.gif)
如果你是WIN用户,大体做法和上面一样,只是需要多安装点东西,我把不同的地方简单补充一下:
下载Python并安装。任何目录都可以。
下载Google App Engine SDK并安装,安装程序会自动检测你机器上是否已经安装了Python。
登录appengine.google.com
创建新应用。
下载文件 http://b3insidecdn.appspot.com/files/b3insidecdn.zip,作为本地目录参考。
编辑app.yaml文件,修改application的名字。
把要上传的文件等放到这个文件夹中,待上传。
下载这个自动比处理文件http://digitalisticcdn.appspot.com/files/deploy_digitalistic_cdn.bat,用文本编辑器修改一下,替换成你自己的Python路径和Google App Engine安装路径(注意:路径必须用引号包围)。需要同步你本地目录时,只要运行这个文件就行了。
都配置好后,双击deploy_digitalistic_cdn.bat来把你的文件上传部署到你自己的Google App Engine上。第一次运行需要输入你的Google用户名和密码。
大功告成。测试你的CDN是否运转正常的方法,和Mac版的一样。
本文并不是对10 Easy Steps to use Google App Engine as your own CDN的简单翻译,使用CDN也只是网站优化内容之一,我们迈出的
只是长征路上的第一步。
P.S.需要告诉你的YSlow,appspot.com是你的CDN服务器,所以需要做以下配置:
在Firefox地址栏里输入 about:config
右键–新建–字符串
字符串的名字:
extensions.firebug.yslow.cdnHostnames
值就可以写:appspot.com
google已经开放免费的cdn拉。。。地址http://code.google.com/intl/zh-CN/speed/pss/
用作VPN了 当作CDN 还真没听说过
GAE 当CDN的速度真的很不错