建立网站是需要成本的,主要是域名成本和主机成本,对于站长来说,如果网站使用纯静态HTML建立,并且不面向中国用户,那么站长可以用GAE来搭建一个极低成本的网站,主机空间成本为零,也就是免费空间。

  对于做英文网站的站长来说,使用国外的网站空间建站是最合适的,可惜国外好用的免费空间越来越少,剩下的使用上还有诸多限制,那么,做英文网站的站长怎么才能低成本地搭建一个免费静态HTML网站呢?答案就是通过Google App Engine来实现。

  Google App Engine是Google提供的基于Google数据中心的开发、托管网络应用程序的平台,每个 Google App Engine 应用程序都可使用1GB存储空间和每天1G的流量,GAE对于使用资源有各种限制,跑动态网站往往会配置不够用,但如果网站使用纯粹的静态HTML建立,那么这种网站还是可以支持较大的访问量。

  使用GAE建立静态网站的方法很简单,先配置好GAE的环境,然后将静态网站内容都复制到应用目录下,然后编辑app.yaml即可。

  下面的app.yaml文件是GAE建立静态网站的核心,该文件针对绝大多数网站文件类型进行了定义,因此大多数静态HTML网站都可以直接支持。以下是我建立的一个app.yaml示例文件。在这个例子里,应用名称为myapp,应用目录是myapp目录,静态网页文件支持html、css、js、jpg等等,静态文件的目录里可以继续建立子目录。

  之后,使用 appcfg.py update myapp 即可将整个静态网站上传到GAE,之后,在GAE的Application Settings – Domain Setup里面添加站长的个人域名即可,添加前需要先用该域名注册一个Google Apps进行域名身份验证,注册验证完之后即可将Google Apps删除 。

  GAE网站的免费额度限制主要是:文件总容量小于1G,文件数量少于1万个,每天流量小于1G,由于静态网站对于CPU消耗很少,因此CPU的运算限制可以忽略,通常来说,这样的配额对于普通中小型网站已经足够了。

application: myapp
version: 1
runtime: python27
threadsafe: true
api_version: 1

handlers:
- url: /(.*\.css)
mime_type: text/css
static_files: \1
upload: (.*\.css)

- url: /(.*\.htc)
mime_type: text/x-component
static_files: \1
upload: (.*\.htc)

- url: /(.*\.html)
mime_type: text/html
static_files: \1
upload: (.*\.html)

- url: /(.*\.htm)
mime_type: text/html
static_files: \1
upload: (.*\.htm)

- url: /(.*\.ico)
mime_type: image/x-icon
static_files: \1
upload: (.*\.ico)

- url: /(.*\.js)
mime_type: text/javascript
static_files: \1
upload: (.*\.js)

- url: /(.*\.rss)
mime_type: application/rss+xml
static_files: \1
upload: (.*\.rss)

- url: /(.*\.swf)
mime_type: application/x-shockwave-flash
static_files: \1
upload: (.*\.swf)

- url: /(.*\.txt)
mime_type: text/plain
static_files: \1
upload: (.*\.txt)

- url: /(.*\.xml)
mime_type: application/xml
static_files: \1
upload: (.*\.xml)

# image files
- url: /(.*\.(bmp|gif|ico|jpeg|jpg|png))
static_files: \1
upload: (.*\.(bmp|gif|ico|jpeg|jpg|png))

# audio files
- url: /(.*\.(mid|midi|mp3|wav))
static_files: \1
upload: (.*\.(mid|midi|mp3|wav))

# windows files
- url: /(.*\.(doc|ppt|rtf|xls))
static_files: \1
upload: (.*\.(doc|ppt|rtf|xls))

# compressed files
- url: /(.*\.(bz2|gz|rar|tar|tgz|zip))
static_files: \1
upload: (.*\.(bz2|gz|rar|tar|tgz|zip))

# index files
- url: /(.+)/
static_files: \1/index.html
upload: (.+)/index.html

- url: /(.*)/
static_files: \1/index.html
upload: (.*)/index.html

# site root
- url: /
static_files: index.html
upload: index.html

http://www.williamlong.info/archives/3859.html