看着个题目可能很玄乎,本来也想写的玄乎玄乎的,但Google了一下,觉得没有必要写的这么玄乎,其实,今天我就是要给大家介绍一款非常优秀的基于python(能够支持GAE)的blog程序而已,所以本文就言简意赅,不过,我会从头到尾,详细的道来整个过程。
问题的提出:1.我国内的虚拟主机感觉速度时好时坏,总不令人满意,所以有找一个稳定的主机的想法,但又不准备再花钱,因为国内和国外的主机买的时间也不长,也不想浪费金钱以及人力来搬家。2.几天前了解了一下Google App Engine,其实Google的东西总是太好太强大,以至于我这样的菜鸟只好避而远之,但又看到K_Reverter已经将整个网站都搬到了GAE,并且还实现了许多强悍的功能,所以羡慕不已。所以,有想利用GAE做点东西的想法了,只是暂时不敢大动干戈,所以今天建立一个blog程序算是尝试吧,更多的想法有待更多的尝试。
Google App Engine,简单的说就是一个Google提供的强大的开放的虚拟主机,每个用户可以建立10个app,也就是10个网站,每个网站500M的空间,也就相当于5G的个人空间。不过,大家不要动歪脑筋,因为Google的限制中一个app只能最多1000个文件,单文件最大500K,所以基本上以为这空间可以放大容量文件的就死心吧。加上GAE提供的是python语言的支持,还不支持PHP,更不用说.NET了,同时还没有MYSQL,自身提供的数据库好像还是很不强大的,另外还不支持FTP,需要使用python上传(不过还蛮好用),加上python的程序本身就不多,Google的GAE又有很多的限制,所以基本上只有拿GAE看看的份了。
今天寻找了一下python+blog,不过效果不是很好,虽然许多大大们都说python开发blog简直是小菜一碟,但我真的没有找到几个,可能国内的还不多吧。首先我找到的是pylogs,看了演示网站,觉得非常的不错,简洁明了,功能也是可以,于是就下载,上传到GAE,结果500错误,在本地调试,也是500错误,难道pylogs用的是Django 1.0框架,而Google提供的是0.96的框架?当然,pylogs是需要MYSQL支持的,而DreamHost的MYSQL是支持外联的,所以不应该存在问题。最后只好作罢。后来找到了这个micolog(官方网站(不过我这边上不去,可能又被墙了),下载地址,现在0.5版本),看到这个的时候是惊喜的,配置完成后登陆到后台完全是惊讶的,应该说这确实是一个非常不错的blog程序了,并且和wordpress做的很像,功能也类似,打着GAE python blog的旗号,让人非常喜欢。看看人家列举的功能吧:
看到上面这些功能我想基本上都够用了吧。既然说到这里,那么我们做一下简单的比较吧,我为什么要推荐这样的一个blog。首先不管zblog还是wordpress都需要空间存放,那就需要购买虚拟主机,而如果用GAE则完全免费,并且GAE的速度是飞快的没有怠机的(可能会有,但Google强大的集群技术应该不会出现这样的情况);其次,如果使用Google blog服务,虽然可以绑定自己的域名,但是总在页面最上显示Blogger的搜索和提示,总觉得不爽;再次,我想放自己的Google adsense怎么办(Blogger是支持adsense的)?总觉自己做模板什么的灵活一些,Blogger的adsense存放位置可能不是很灵活。可能原因还有更多,当然GAE的缺点也是有的,比如可能被墙挡住,数据库不容易控制等等。话题有点扯远,甚至说到了GAE和虚拟主机的比较去了。从上面的功能上来看,tag和categories我觉得不用说,定制皮肤还不错,我喜欢的是从wordpress导入、拥有pages功能和支持WLW,当然cache也不错。所以,如果你想用Wordpress,那么你可以先用micolog+GAE建立一个bolg试试,免费加快速访问,一定会让你惊喜的。
回到正题,从头开始讲整个安装设置,包括Windows live writer中的设置。
1.既然是使用GAE,那当然要注册一个GAE吧,你只要有Gmail帐号就可以了。然后按照步骤建立一个app,这样你就差不多得到你的网站名了,我注册的是tangf2004,所以可以使用tangf2004.appspot.com这个Google提供的免费二级域名来访问。
2.下载App Engine SDK。因为要用到这个来上传app的。安装SDK,桌面上就提供了一个Google App Engine的文件夹快捷图标,进入该文件夹,看到的是一些py文件,不用管,只要知道dev_appserver.py是在本机模拟开发环境的,而appcfg.py是用于上传等工作的,具体就去参考入门指南吧。
3.下载micolog,这是主程序当然要下载了。完成后是一个压缩包,将该压缩包解压缩到Google App Engine所在目录。
4.进入Google App Engine下的micolog目录,用文本编辑器打开app.yaml文件,这是一个配置文件,只需要将第一行的application后的内容改成你所建立的app的ID就可以了,比如我的就是tangf2004。(要知道第一次就是因为没有理解这个导致文件上传到GAE都没有成功,笨吧)
5.开始-运行-cmd,命令行进入到Google App Engine目录,输入命令:appcfg.py update micolog/,回车确定。第一次上传的话会提示输入Email,就是你自己注册的Gmail地址,密码也是你的gmail地址,然后提示一些信息,大致就是验证通过、找到多少文件、开始上传、结束上传等信息,很快就完成了。(如第4点所说,如果app.yaml文件的ID是错的那么你是上传不成功的)
6.那就赶紧开始你的Blog之旅吧。登录tangf2004.appspot.com就可以看到效果了。点击右上角的admin就可以开始管理你的blog了。看一下简单的后台吧,和wordpress很像哦。
虽然看上去完工了,但后续工作还没有完。下面再说几件事情吧。
将该app绑定到一个自有的二级域名:
首先该域名是已经注册了Google apps,如何注册请看我的上一文:Google apps注册以及解析ghs.google.com。(不过遗憾的是,好像我上文提供的ghs的替代IP又出问题了,下面留言的朋友提供的IP也不行,最后勉强又找了一个可用的IP。我怀疑徐明的博客就是因为墙挡住了而无法访问)。
然后,进入到appengine中你刚刚建立的app的控制面板,在左侧的管理工具栏中点击Versions,有一个add domain的按钮,就是它了,点击进入下一页面提示输入域名,直接就是国际域名,比如我的就是sharesh.cn,如果你的域名还没有注册Google apps那么会提示无法继续的。再继续的话就是进入到Google apps的管理面板了,提示输入域名,写一个二级域名就可以了,所以我就写了gae.sharesh.cn。确定后提示该二级域名的CNAME需要指向ghs.google.com,完成后才能确认点那个我已经完成了该操作的按钮。(这里很简单,图片也不上了,写的也很罗嗦,自己一步一步很容易搞定的)
最后,需要在域名中设置上一步中的二级域名的CNAME记录。进入时代互联的控制面板,域名VDNS管理,增加一个二级域名gde,我没有使用CNAME,而是直接使用了A记录,A记录的IP设置为刚刚找到的可以访问的ghs对应的IP就可以了。重启VDNS,没有等待几秒,我就去点了上一步中的我已完成操作确认域名,竟然就直接可以用了,看来增加一个二级域名的DNS解析速度还是比较快的。
所以,你现在可以通过这两个域名来访问我的GAE上的blog程序了:GAE.sharesh.cn(我自己的二级域名)和Tangf2004.appspot.com(Google提供的免费二级域名),两者访问的效果都是一样的。
将wordpress数据导入micolog:
这一个步骤还是很简单的,首先登录wordpress的后台,选择导出,导出的是wordpress自有个是的XML文件。然后,登录micolog后台(忘了说了,micolog的登录是和gmail已经集成了,看来又用到了gmail的API了,够强悍),在设置中的导入导出,选择刚才导出的XML文件直接导入到wordpress中,即可,非常的简单而方便。顺便要提一下的是,wordpress的固定链接,在micolog中也存在,所以,如果你真的准备搬家到GAE,那么可以使用完全一致的固定链接,对于SEO来说是不会有影响的,这一点做的非常的不错。
只是,我在导入的时候我碰到了一个问题,竟然导入中断掉了,试了好几次都不成功,没有办法只好看XML文件,最后发现竟然有几个图片也导出成文章了,我把由图片生成的item删除,最后导入成功了,可能是wordpress的bug。
使用Windows live writer写blog:
上次我就写了一个文章推荐Windows live writer,没有看过的就回看一下我的文章吧:推荐:Windows live writer 2009(附WIN2003下安装方法)。用WLW来离线写作真的非常的棒,而micolog是和wordpress一样也是支持WLW离线写作的。
首先登录micolog后台设置中的基本设置,在最下面有一个客户端(Xmlrpc)调用设置,这里写上你的用户名和密码,这样就可以支持WLW了。
然后是配置WLW,在WLW中新增一个日志账户,其中提供者和接入地址,需要按下图填写。(这也是网上找的,不然也不会写这一点)。类型选择wordpress2.2+,接口为网址后面加/rpc,比如我的就是http://gae.sharesh.cn/rpc。经过我的测试,上传图片,嵌入iframe等都没有问题,并且WLW的缩略图等都支持,图片直接上传到GAE的空间,非常的不错。
至此,使用GAE建立blog的过程已经全部完毕,你是否也心痒痒的要建立一个呢?那就赶紧开始吧。
整个blog的寻找建立并摸索大概花了我小半个下午,而写此篇日志却花了我三个小时,郁闷,看来写日志真的不是一件容易的事情。不过,欣慰的是,我的网站又多了一个镜像,只是在考虑要不要真的把站点搬过去呢,我是要忍受不了国内主站的速度了。
====================
早上的时候又找了一个python blog列表,开源Python博客列表(fromGoogle App Engine 中文观察):
Plog http://code.google.com/p/pyweblog/ 示例: http://plog.appspot.com
n23 http://code.google.com/p/n23/ 示例: http://n23.appspot.com/blog
xian-min http://code.google.com/p/xian-min/ 示例: http://xian-min.appspot.com
tublog http://code.google.com/p/tublog/ 示例: http://ether.appspot.com
NiuBi http://code.google.com/p/niubi/ 示例: http://niubi.appspot.com
onlypy http://code.google.com/p/onlypy/ 示例: http://onlypython.appspot.com
英文
Potlatch Blog http://github.com/araddon/potlatchblog/tree/master DEMO: http://aaronspotlatch.appspot.com/
Bloog http://github.com/DocSavage/bloog/tree/master DEMO: http://bloog.appspot.com/
RoverTang@罗孚传说
E-mail:65985498[at]qq.com
微博/微信:rovertang