利用Google App Engine建立強大的Blog網站
今天前瞭解了一下Google App Engine,其實Google的東西總是太好太強大,以至於我這樣的菜鳥只好避而遠之,但又看到有人已經將整個網站都搬到了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,不過效果不好,可能國內的還不多吧。後來找到了這個micolog(下載地址,現在0.5版本),看到這個的時候是驚喜的,配置完成後登陸到後台完全是驚訝的,應該說這確實是一個非常不錯的blog程序了,並且和wordpress做的很像,功能也類似,打著GAE python blog的旗號,讓人非常喜歡。看看人家列舉的功能吧:
custom theme
tags and categories for the blog entry.
rich content editor by tinymce
import data from wordpress export file
menu & pages management.
cache enabled
implement wordPress API and metaWeblog API ,support client writer (such as window live writer)
看到上面這些功能我想基本上都夠用了吧。既然說到這裡,那麼我們做一下簡單的比較吧,我為什麼要推薦這樣的一個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博客列表(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/
來自:Python課堂
把網站架在Google App Engine (GAE)上面
直接架在 Google 上,GAE、相簿免空部落格自架教學
http://www.techbang.com/posts/16361-bye-bye-nameless-directly-on-google-blog-cheat-stole-71-special-feature-in-january使用GAE建立免費靜態網站
http://www.williamlong.info/archives/3859.html
gae外接免費的mongodb數據庫突破datastore讀寫次數限制
http://www.v2ex.com/t/83966
Read more...