簡體   English   中英

IIS 7.5 上的 Python Bottle 和 CGI​​(或 fastCGI)可以用於生產嗎?

[英]Can Python Bottle and CGI (or fastCGI) on IIS 7.5 be used for Production?

我正在使用 Bottle 並從命令提示符(內置服務器)運行它。 當我部署它時,我看不到文檔中提到 IIS:

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

我知道它並沒有真正考慮到 IIS,但是 Microsoft 有一篇文章:

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

考慮到所有這些,Bottle 可以在 IIS 7.5 上運行 - 用於生產嗎?

我在 SO 和其他地方看到了一些關於 fastCGI 和 Python 的問題,但我不知道這是否適用於生產。

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

我的經驗是使用 Apache(在 Linux 和 Windows 上)。 您參考的文章給出了 ActiveState Python 的示例(順便說一下,這是我在 Windows 上使用的)並且適用於運行 Python cgi 腳本而不是 fastcgi。 所以如果你想在 IIS 下運行 fastcgi(假設 fastcgi 是 IIS 的一個選項),你將不得不在別處尋找如何做到這一點。

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

from bottle import Bottle
app = Bottle()

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

app.run(server='cgi')

如果您找到了一種為 fastcgi 配置 IIS 的方法,那么我建議您安裝flup然后編寫代碼:

from bottle import Bottle
app = 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 on Windows on an Apache server

可能該鏈接將對此主題有所幫助: https : //github.com/Fox15145/Speed-Starter-Python_Website-Under-IIS這是IIS環境中Python網站的安裝包(在Powershell中為Batch)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM