Google App Engine(GAE)是google的互联网应用程序引擎服务。用户可以使用Google 提供的API开发自己的网站或互联网应用,而服务器、带宽等全部有Google的服务器集群来实现。GAE被开发者视为高速、免费的虚拟主机。
目前的预览版本支持:
1、每个用户10个应用(application)。
2、每个应用500M存储空间和每月 500 万综合浏览量。
这些用来搭建一个小型的网站绰绰有余了。如果你的博客是wordpress,想搬到Google App Engine上,有有些困难,由于GAE目前支持python,而wordpress 是php程序。把wordpress的数据导入到一个可以在GAE运行的blog程序里,是迁移最实用的办法。
我把守望轩的博客就在GAE上做了一个镜像:http://watch-life.appspot.com/
下面我提供我尝试的方法:
http://www.watch-life.net/wordpress/wordpress-2-gae.html
1、注册GAE。
链接:http://appengine.google.com/
注册必须是Gmail用户。
2、登录GAE,新建一个应用(application)。
比如我新建的应用名为:watch-life
3、下载、安装App Engine SDK
链接:http://code.google.com/intl/zh-CN/appengine/downloads.html
比如我的安装目录为:D:\Program Files\Google\google_appengine
4、下载、安装python 2.5
链接:http://www.python.org/ftp/python/2.5.4/python-2.5.4.msi 。
为什么是2.5呢?因为目前GAE只支持2.5。
5、下载micolog 博客程序。http://code.google.com/p/micolog/。
目前的版本是0.5 。我只所以选择这个blog程序,是因为micolog 可以用导入wordpress的导出xml数据,兼容性不错,文章、分类都可以导入,而且支持永久链接。
6、安装micolog 博客程序。
1)把micolog 复制到GAE的安装目录(你可以对micolog目录名改名,比如我就改名为“watch-life”),修改app.yaml文件中的第一行,把“application:”后面的“mlog”,改成你在GAE上新建的应用名。比如,我就改成:application:watch-life
2)开始-运行-cmd,进入D:\Program Files\Google\google_appengine,输入命令:appcfg.py update watch-life/,然后根据提示输入gmail地址和密码,通过后会上传micolog 博客程序。这时你就可以访问你在GAE上的博客了,访问的地址为:http://应用名.appspot.com, 比如我的就是:http://watch-life.appspot.com
7、导出wordpress的xml数据。
登录到你的wordpress博客后台,在左侧导航栏选择:工具+导出,单击“下载导出文件”按钮即可。
8、在micolog 博客导入wordpress的xml数据。
1)、登录你刚刚在GAE上建好的博客程序,登录的用户名和密码和你Gmail的一样,因为应用的是google api 中用户服务,集成了Google 用户帐户。
2)在导航栏选择“设置+导入/导出”,选择导入xml文件(即从wordpress导出的xml数据文件),单击“导入”按钮即可。
在导入前要注意几点:
1、如果导入的xml文件如果很大的,是会超时导入失败的。我最开始导出的xml有1.8m,导入的时候就失败了,最开始以为是导入的程序有问题,把xml分成n多部分后分开导入,才成功了。
如何分割导出xml文件呢。xml文件里的结构是这样的:
xml version="1.0" encoding="UTF-8"?> <rss version="2.0" ...> <channel>
..... <wp:category> wp:category> ... <wp:tag> wp:tag> <item> item> .. channel> rss>
wp:category 节点表示分类
wp:tag 节点表示tag
item节点表示文章
其中的wp:tag节点可以全部删除,因为在导入的时候是被忽略的。
制作第一个xml,导入分类(在micolog 里叫目录)只保留wp:category 节点
,类似如下代码:
xml version="1.0" encoding="UTF-8"?> <rss version="2.0" ...> <channel>.....
<wp:category> wp:category> ...
channel> rss>
然后制作第二个xml,只保留一部分item节点(最好在50个item内,多了会导入失败),类似如下代码:
xml version="1.0" encoding="UTF-8"?> <rss version="2.0" ...> <channel>.....
<item> item> ..
channel> rss>
接下来制作第三个,方法类似,以此类推。
2、在wordpress的导出xml文件中有些item节点有些问题(估计是wordpress的bug),这些有问题的item节点居然用图片文件做节点,例如
<item> <title>gohome.jpgtitle> .. item>
如果存在这样的item节点,会导致导入中止,因此在导入中止的时候,需要检查是否存在这样的item节点。
3、永久链接(Permalink)不支持category参数,因此不能把永久链接设置为:%(category)s/%(postname)s.html,只用“%(year)s , %(month)s , %(day)s , %(postname)s , %(post_id)s”这几个参数。同时设置方式也和wordpress有些差别。
等把所有的xml都导入完后,整个迁移的工作就算完成了。
你有没有兴趣试试。:-)
有关链接:
1、Google App Engine:http://appengine.google.com/
2、micolog博客程序:http://code.google.com/p/micolog/downloads/list
3、python :http://www.python.org
更多文章见:守望轩[http://www.watch-life.net/]