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

时间: 2024-08-01 18:41:40

Google App Engine搭建自己的CDN的相关文章

使用Grails开发Google App Engine应用

前言 Grails 作为 Web 框架的新生力量,已经被越来越多的开发人员所接受.而 Google App Engine(以下简称 GAE)作为云计算的平台,为应用提供了广阔的扩展空间.如何将二者擦出绚丽的火花呢? 本文将借助 Grails 中支持 GAE 的插件 --Grails App Engine(以下简称 GAE 插件),使用 JPA 接口,以一个 ToDo 应用为例,讲述了如何使用 GAE 插件进行 GAE 程序的开发,以及在开发中的注意事项. 本文使用的环境: Grails 1.3

Amazon EC2和Google App Engine,谁是最后的赢家

Amazon EC2和Google App Engine,两大服务平台,谁能更胜一筹,我打算从三个角度来对比这两大云计算平台:技术,业务和未来发展趋势,本文是技术方面的对比,ok,准备好咖啡,我们开始吧! 如果按平台类型来分,大家可能已经知道Amazon EC2属于IaaS(基础设施即服务),Google App Engine属于PaaS(平台即服务).不过,如果Amazon EC2给你一个安装了操作系统的平台,你就可以自己安装应用程序,并且使用AMI(Amazon Machine Image)

菜鸟玩GAE(Google App Engine)完全指南,互联网营销

GAE是什么? 从实用的角度说是GAE可以提供我们稳定的免费网站空间,空间支持语言是python.java,数据库是google专有的数据库,数据库和空间可以免费使用1G,超过了1G就要买了,还提供Google的带宽,这个带宽约可以支撑一月500万次访问请求,超过500万次就要买了--对于一般网站这免费的资源就足够了,另外GAE还支持域名绑定,就相当于个人买的虚拟空间一样. 即使你目前对GAE不了解,也不会python或java,也能轻易使用GAE空间,利用别人编好的基于GAE的程序建立起自己的

开始您的第一个Google App Engine应用

很多人想玩 Google App Engine ,最起码可以当个免费的虚拟主机来用.那就先说说费用情况. 目前,GAE 每个帐号可以开通10个应用,每个应用免费配额1G磁盘空间,这样下来就是10G.另外,每个应用每天免费流量配额10G,Request 一百三十万次,数据库存储调用一千万次. 超出这些配额您可以购买,存储空间0.01美元2G(这个不按天算),带宽基本上0.1美元10G左右/每天(这个每天统计一次,超出免费配额部分才收费). 唯一遗憾的是暂时不受理人民币. GAE最早支持 Pytho

在Google App Engine Java版上构建电子书分享网站

简介:"云计算"是目前热门的技术方向,本文从 Google 的云计算平台 App Engine 入手,简单介 绍了 Google 面向 Java 开发人员的云计算平台.从一个实际的电子书分享应用构建出发,讲述了如何在 Google App Engine 平台上构建这个应用程序. "云计算"基本概念的介绍 根据维基百科上的定义,云计算是一种动态易扩展,而且通常是通过互联网提供的虚拟化的资源计算 方式,用户不需要了解云内部的细节,也不必具有云内部的专业知识,或者直接控制

在Google App Engine中使用Struts2框架

"GAE"(Google App Engine)在早些时候发布了Java语言的支持,对广大的Java开发者来说,可以使用自己熟悉的语法来进行开发,是很舒服的一件事情.Java世界中有大量已有的工具和框架,有一些是我们日常工作中就已经熟练使用的.而且广为流行的成熟的,如果能够直接在GAE中使用,将大大提高我们的开发效率. 这几天利用Struts2,在GAE的Java版本支持环境中,写了个简单博客,现在将GAE+Struts2的组合经验,记录下来. 背景介绍 Python是一门有趣的语言,

使用Eclipse在Google App Engine上创建mashup,第3部分

使用社会网络可以更轻松地获取并聚合数据,从而创建富有革新精神的新 Web 应用程序.但是,仍然必须处理创建可伸缩 Web 应用程序的所有常见问题.现在,使用 Google App Engine (GAE) 也可以简化工作.使用 GAE,可以不必考虑管理应用服务器池的所有事务,而是集中精力创建优秀的 mashup.本文是共分三部分的系列文章 "使用 Eclipse 在 Google App Engine 上创建 mashup" 的最后一部分,在本文中,将利用并进一步增强在前两部分中构建的

使用Eclipse在Google App Engine上创建 mashup,第2部分

使用社会网络可以更轻松地获取并聚合数据,从而创建富有革新精神的新 Web 应用程序.但是,仍然必须处理创建可伸缩 Web 应用程序的所有常见问题.现在,使用 Google App Engine (GAE) 也可以简化工作.使用 GAE,可以不必考虑管理应用服务器池的所有事务,而是集中精力创建优秀的 mashup.本文是共分三部分的系列文章 "使用 Eclipse 在 Google App Engine 上创建 mashup" 的第二部分,在本文中,将利用并增强在第 1 部分中构建的应用

使用Eclipse在Google App Engine上创建mashup,第1部分

进军社会软件是为应用程序增值的好方法.使用社会网络可以更轻松地获得并聚合数据,从而创建富有革新精神的新 Web 应用程序.但是,仍然必须处理创建可伸缩 Web 应用程序的所有常见问题.现在,使用 Google App Engine (GAE) 也可以简化工作.使用 GAE,可以不必考虑管理应用服务器池的所有事务.您不必担心存储大量静态内容和动态数据.相反,您可以将精力集中在创建优秀的 mashup 上.本文是共分三部分的系列文章 "使用 Eclipse 在 Google App Engine 上