2015-02-10 53 views
0

我正在使用Bottle並從命令提示符(內置服務器)運行它。當我部署它,我看不出有任何提及的IIS文檔:IIS 7.5上的Python Bottle和CGI(或fastCGI)可用於生產嗎?

http://bottlepy.org/docs/dev/deployment.html

我所知,這是不是真的有IIS記做,但微軟有一篇文章:

https://support.microsoft.com/kb/276494?wa=wsignin1.0

考慮到這一切,瓶子可以在IIS 7.5上運行 - 對於生產

我在SO和其他關於fastCGI的Python上看到過一些問題,但我不知道這是否適用於Production。

請注意,我不想使用IronPython。除了Python解釋器,我想盡可能多地使用MS IIS(我必須)。

回答

1

我的經驗已經與Apache(在Linux和Windows上)。你所引用的文章給出了一個ActiveState Python的例子(順便說一句,這是我在Windows上使用的),適用於運行Python cgi腳本而不是fastcgi。所以如果你想在IIS下運行fastcgi(假設fastcgi是IIS的一個選項),你將不得不在其他地方看看如何做到這一點。

但要回答你的問題:是的,因爲IIS確實支持Python cgi腳本,所以你可以在該模式下運行你的Bottle應用程序。例如:

from bottle import Bottle 
app = new Bottle() 

app.route('/') 
def hello(): 
    return 'Hello!' 

app.run(server='cgi') 

如果你發現配置IIS的FastCGI的的一種方式,那麼我建議你安裝flup然後代碼:

from bottle import Bottle 
app = new Bottle() 

app.route('/') 
def hello(): 
    return 'Hello!' 

from flup.server.fcgi import WSGIServer 
WSGIServer(app).run() 

不管怎麼說,上面的兩個例子Apache下工作分別用於cgi和fastcgi。我可能會指出,在apache下運行cgi時,我遇到了在Windows上截斷輸出的問題。無論這是IIS下的問題,你都會發現。見Truncated output using Python bottle 0.12.8 as a CGI application under Windows on an Apache server

相關問題