如何在 Windows Server 上托管 Python 3.7 Flask 应用程序?

Ish*_*han 4 iis windows-server flask wfastcgi python-3.7

由于 wfastcgi 模块与 Python 3.7 不兼容,在 Windows Server 上托管 Python Flask 应用程序的最佳方式是什么?

Jal*_*hal 9

你需要在你的服务器上安装 python、wfastcgi 和 Flask。

您可以从以下链接下载python:

https://www.python.org/downloads/

安装python后下载wfastcgi:

pip install wfastcgi
Run Code Online (Sandbox Code Playgroud)

以管理员身份运行命令提示符并运行此命令。

wfastcgi-enable
Run Code Online (Sandbox Code Playgroud)

运行此命令以启用 wfastcgi。

下面是我的烧瓶示例:

应用程序.py:

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello from FastCGI via IIS!"
if __name__ == "__main__":
app.run()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

创建应用程序以运行它后,请使用以下命令:

python app.py
Run Code Online (Sandbox Code Playgroud)

现在启用 iis 的 cgi 功能:

在此处输入图片说明

  • 现在打开iis。
  • 右键单击服务器名称并选择添加站点。
  • 输入站点名称物理路径和站点绑定。
  • 添加站点后,选择站点名称并从中间窗格中选择处理程序映射功能。
  • 点击“添加模块映射” 在此处输入图片说明
  • 添加以下值:

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

可执行路径值:

C:\Python37-32\python.exe|C:\Python37-32\Lib\site-packages\wfastcgi.py

  • 单击“请求限制”。确保“仅当请求映射到时才调用处理程序:”复选框未选中:

在此处输入图片说明

  • 在此处单击“是”:

在此处输入图片说明

  • 现在返回并再次选择服务器名称并从中间窗格中选择快速 CGI 设置。

在此处输入图片说明

  • 双击它,然后单击环境变量集合的“...”以启动环境变量集合编辑器:

在此处输入图片说明

  • 设置 PYTHONPATH 变量:

在此处输入图片说明

  • 还有 WSGI_HANDLER(我的 Flask 应用程序名为 app.py,因此值为 app.app — 如果您的名为 site.py,它将是 site.app 或类似的):

在此处输入图片说明

  • 单击确定并浏览到您的站点:

在此处输入图片说明

注意:不要忘记为flask站点文件夹和python文件夹分配iusr和iis_iusrs用户权限。