如何在IIS 8中部署Flask应用程序(Windows Server 2012)

时间:2013-11-21 23:50:00

标签: python iis flask iis-8

如何在IIS 8(Windows Server 2012)中部署Flask应用程序?周围有许多部分解释,但似乎没有任何效果。

2 个答案:

答案 0 :(得分:5)

以防万一。对于复杂而重要的应用程序,我不会在生产中做任何事情。

我会选择反向代理+ gunicorn。这就是我现在大部分时间都在做的事情,但是使用nginx和Linux机器。这里的问题是gunicorn现在不支持窗口(but support is planned)。现在您可以选择在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

您需要Flask路径和env变量以及

from yourapplication import app as FlaskHandler

NB :您可以尝试列出here列出的其他发射器而不是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 here

我安装的软件包:

  • 纳米
  • python 2.6.8
  • 卷曲

然后我安装了pip:

$ curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python
$ easy_install pip

然后是烧瓶和手枪:

$ pip install flask gunicorn

我做了简单的app.py

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

用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

之后你需要让你的gunicorn应用程序像windows service一样运行。但是那部分我很长一段时间都没有做过,所以回忆是阴影的。)

NB :如果您准备尝试,我找到了另一个选项https://code.google.com/p/modwsgi/wiki/InstallationOnWindows

答案 1 :(得分:0)

使用FastCGI,我使用此方法取得了更多成功:http://codesmartinc.com/2013/04/12/running-django-in-iis7iis8/

只需使用(yourModule).app代替django.core.handlers.wsgi.WSGIHandler() WSGI_Handler变量。