以防万一.对于复杂而重要的应用程序,我不会在生产中做任何事情.
我会去反向代理+ gunicorn.这就是我现在大部分时间都在做的事情,但是使用nginx和Linux机器.这里的问题是gunicorn现在不支持窗口(但计划支持).现在您可以选择在Cygwin中使用gunicorn运行Flask应用程序.
另一种方法是尝试这个https://serverfault.com/questions/366348/how-to-set-up-django-with-iis-8而不是Django相关的东西,特别是
from django.core.handlers.wsgi import WSGIHandler as DjangoHandler
Run Code Online (Sandbox Code Playgroud)
你需要你的Flask路径和env变量
from yourapplication import app as FlaskHandler
Run Code Online (Sandbox Code Playgroud)
注意:你可以试试这里列出的其他发射器而不是gunicorn .也许在Windows上有Twisted或Tornado的运气
更新:Cygwin的Gunicorn
我在使用Cygwin 1.7.5 32bit的Window 7 64bit.Python版本2.6.8.
我在使用Cygwin 64bit和Python 2.7运行Flask时遇到了一些问题,尽管gunicorn似乎工作正常.
你可以在这里得到Cygwin .
我安装的软件包:
然后我安装了点子:
$ curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python
$ easy_install pip
Run Code Online (Sandbox Code Playgroud)
然后烧瓶和枪炮:
$ pip install flask gunicorn
Run Code Online (Sandbox Code Playgroud)
我做得很简单app.py:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
Run Code Online (Sandbox Code Playgroud)
并用gunicorn运行它:
$ gunicorn app:app
2013-11-27 16:21:53 [8836] [INFO] Starting gunicorn 18.0
2013-11-27 16:21:53 [8836] [INFO] Listening at: http://127.0.0.1:8000 (8836)
2013-11-27 16:21:53 [8836] [INFO] Using worker: sync
2013-11-27 16:21:53 [6140] [INFO] Booting worker with pid: 6140
Run Code Online (Sandbox Code Playgroud)
在那之后你需要让你的gunicorn应用程序像Windows服务一样运行.但那部分我已经做了很长时间,所以回忆是阴影:)
注意:如果您准备好尝试,我找到了另一个选项https://code.google.com/p/modwsgi/wiki/InstallationOnWindows