我已經使用Flask框架編寫了一個小應用程序。我嘗試使用cgi來承載這個。繼文檔我創建了以下內容的CGI文件:使用CGI部署Flask應用程序
#!/usr/bin/python
from wsgiref.handlers import CGIHandler
from yourapplication import app
CGIHandler().run(app)
運行在下面的錯誤文件的結果:
...
File "/usr/lib/pymodules/python2.7/werkzeug/routing.py", line 1075, in bind_to_environ wsgi_server_name = environ.get('HTTP_HOST', environ['SERVER_NAME'])
KeyError: 'SERVER_NAME'
Status: 500 Internal Server Error
Content-Type: text/plain
Content-Length: 59
在我的應用程序已經設置:
app.config['SERVER_NAME'] = 'localhost:5000'
當我使用Flask開發服務器運行應用程序時,它可以工作非常好。 正如你可以告訴我這個東西很新,我有搜索其他類似的錯誤,但沒有運氣。所有的幫助表示讚賞。
你在一些http服務器下運行它嗎?這些環境變量應該由執行cgi的http服務器設置。 – mkriheli
感謝您的評論。我運行Apache主機。我不認爲我需要配置服務器只是爲了在本地運行命令。在完成所需的配置後,我會再試一次。 – monostop
你能解決這個錯誤嗎? – Shadkhan