最近在這個(gè)博客,我開(kāi)始用這樣帶"/"的標(biāo)題,原因是方便搜索.因?yàn)榫W(wǎng)上關(guān)于python的資料實(shí)在是少的可憐.能多做點(diǎn)貢獻(xiàn)就多做點(diǎn)貢獻(xiàn)吧,大家一起努力
話說(shuō)前端時(shí)間藍(lán)色理想的一個(gè)朋友給了我一份DreamHost的空間,于是我的python就有用武之地了.結(jié)果...折騰了快一個(gè)星期,才把這個(gè)python搞定,現(xiàn)在大家看這個(gè)網(wǎng)址: http://181920.net 就是用web.py輸出的結(jié)果. 讓我們從頭開(kāi)始,在DreamHost的空間上裝個(gè)web.py
前期準(zhǔn)備
工欲善其事,必先利其器.要在DreamHost上裝個(gè)web.py得準(zhǔn)備下列工具:
- 運(yùn)行shell命令和服務(wù)器端交互的軟件:這個(gè)我是用putty
- 上傳文件用的ftp軟件:這個(gè)我用cuteftp
- python腳本編輯軟件:這個(gè)我用IDLE
如何能操縱服務(wù)端
這個(gè)可以想象一下遠(yuǎn)程連接是怎么回事.一般DreamHost的用戶會(huì)有一個(gè)帳號(hào)用來(lái)遠(yuǎn)程登陸到服務(wù)端,然后就可以進(jìn)行一些操作.下載需要的文件,安裝文件,配置apache服務(wù)器,配置mysql服務(wù)器等等等等.如果你要問(wèn)你配置了你的,會(huì)不會(huì)影響到別人.我想應(yīng)該是不會(huì)影響的.
關(guān)于putty
putty是DreamHost推薦使用的工具.用來(lái)輸入命令和服務(wù)端交互.稍微小白些的解釋,就是你通過(guò)putty和服務(wù)端連接,然后輸入一些命令行,可以操作服務(wù)端的文件什么的.類似于在本機(jī)用cmd打開(kāi)的命令行提示符那樣的操作. 看這里的介紹: http://wiki.dreamhost.com/Putty 可以在這里下載: http://www.chiark.greenend.org.uk/~sgtatham/putty/ 安裝后打開(kāi)putty,會(huì)讓你輸入服務(wù)器地址,這個(gè)地址是用戶名@主機(jī)名,選擇ssh登陸,完成后打開(kāi),會(huì)提示你輸入密碼.注意這個(gè)時(shí)候你開(kāi)始在鍵盤敲你的密碼,但是在putty的界面上并不會(huì)顯示什么,直到你輸入完密碼,按回車.如果密碼正確,就會(huì)出來(lái)一個(gè)歡迎界面,否則putty就會(huì)提示密碼錯(cuò)誤,要求再次輸入.還有一種情況是密碼正確了,但是putty自動(dòng)關(guān)閉了.這是因?yàn)槟愕馁~戶還沒(méi)有使用shell的權(quán)限,需要到用戶面板開(kāi)通一下. 然后就是開(kāi)始輸入命令了,一些常用的命令,比如dir顯示當(dāng)前目錄,cd進(jìn)入到某個(gè)目錄,mkdir新建文件夾,wget遠(yuǎn)程下載,tar解壓縮... 基本明白了吧. 還有,如果要在里面粘貼文本,只要點(diǎn)擊一下右鍵就可以.
關(guān)于ftp和關(guān)于IDLE
省略了.
開(kāi)始安裝web.py 基本上就是打開(kāi)這個(gè)頁(yè)面 http://wiki.dreamhost.com/Web.py 照著一步一步的來(lái). 我在這里來(lái)個(gè)難點(diǎn)解說(shuō).
應(yīng)該在哪個(gè)目錄下? 是在你的web主目錄下
我不用python2.4怎么辦? 改成#!/usr/bin/env python2.3 就可以.
怎么修改web.py's web/wsgi.py? 這個(gè)其實(shí)挺費(fèi)了一番功夫,一開(kāi)始沒(méi)看明白那些加加減減是什么意思,后來(lái)明白過(guò)來(lái),就是打開(kāi)wsgi.py這個(gè)文件,把runfcgi()里面的兩句替換一下. import flup.server.fcgi as flups return flups.WSGIServer(func, multiplexed=True, bindAddress=addr).run() 替換成 import fcgi as flups return flups.WSGIServer(func, multiplexed=False, bindAddress=addr).run() 要注意不要有多余的空格.
怎么使用vim命令修改.htaccess? 首先是敲入vim .htaccess 然后復(fù)制那一段,貼上去.然后檢查下對(duì)不對(duì).我復(fù)制粘貼的時(shí)候經(jīng)常會(huì)把一開(kāi)始Options的字母"O"給弄丟了,仔細(xì)檢查下.沒(méi)問(wèn)題后,摁鍵盤上的ESC鍵,這個(gè)時(shí)候就進(jìn)入命令模式,在輸入":X",這是保存退出的意思.這就可以了. 如果不放心,可以在使用vim .htaccess命令,這個(gè)時(shí)候一般會(huì)提示文件已經(jīng)存在,讓你選擇打開(kāi)的模式,用只讀模式看下有沒(méi)有問(wèn)題吧. 大家可以看看這個(gè)文章,我覺(jué)得挺好的: http://man.lupaworld.com/content/manage/ringkee/vim.htm
關(guān)于FCGI和web.py
在DreamHost的web.py是這么運(yùn)行的: web請(qǐng)求->apache->FCGI->web.py->.cgi程序頁(yè). 我不知道對(duì)不對(duì),暫且這么理解吧. 但是如果你是和我一樣,在用windows,那就會(huì)覺(jué)得有這樣的問(wèn)題:在本地如何編寫程序,然后傳到服務(wù)端看效果.因?yàn)槲矣X(jué)得是在本地在裝apache和fcgi會(huì)是非常麻煩的事情,不如直接雙擊.py文件就自動(dòng)啟動(dòng)一個(gè)web server簡(jiǎn)單啊. 后來(lái)我發(fā)現(xiàn)其實(shí)是可以實(shí)現(xiàn)的.我們來(lái)對(duì)比下web.py的程序和web.py+fcgi的程序,不同的就是最后如何解析文件: web.py: if __name__=='__main__': web.run(urls,globals())
web.py+fcgi: def runfcgi_apache(func): web.wsgi.runfcgi(func, None) if __name__ == "__main__": web.wsgi.runwsgi = runfcgi_apache web.run(urls, globals())
所以,我們只管在本地寫我們的程序,最后上傳到服務(wù)端的時(shí)候,就把最后的webrun部分改一下就可以.
稍微麻煩了些,但是比較簡(jiǎn)單快速的辦法
其他
另外,我現(xiàn)在還是運(yùn)行python2.3,我已經(jīng)裝了python2.5,但是還不清楚該怎么調(diào)用.需要再研究下.
暫時(shí)記得起來(lái)的問(wèn)題就這么多,以后有需要了再補(bǔ)充.
出處:藍(lán)色理想
責(zé)任編輯:moby
上一頁(yè) 下一頁(yè) web.py的說(shuō)明一
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|