1

我正在使用 python 3.8 版和 IIS 7.0。当我尝试在 IIS 服务器上托管我的 python web api 时,它遇到了 FastCGI 错误。我在 IIS 中启用了 CGI,并在我的 web 配置中添加了 System.WebServer>>handlers>>Python FastCGI,但它仍然给出了同样的错误。我还检查了 wfastcgi 和烧瓶也成功添加。

4

2 回答 2

0

您必须将两个参数放在双引号中,并用|
例如分隔

"c:\python39\python.exe" | "c:\python39\Lib\site-packages\wfastcgi.py"

""或粘贴后将整个路径放入。

于 2021-06-14T10:39:40.530 回答
0

按照以下步骤在 iis 中配置 iis flask 应用程序:

1)安装蟒蛇

2)安装python后安装wfastcgi。以管理员身份运行命令提示符并运行以下命令:

pip install wfastcgi

wfastcgi-enable

3)下面是我的烧瓶示例:

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

4)启用iis的cgi功能:

在此处输入图像描述

5)打开iis创建站点。

6)添加站点后,选择站点名称并从中间窗格中选择处理程序映射功能。

点击“添加模块映射”</p>

在此处输入图像描述

可执行路径值:

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

在此处输入图像描述

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

在此处输入图像描述 在此处单击“是”:

在此处输入图像描述

7)现在返回并选择应用程序设置功能。

在此处输入图像描述

单击操作窗格中的添加。

在此处输入图像描述

设置 PYTHONPATH 变量(这是您的站点文件夹路径):

在此处输入图像描述

还有 WSGI_HANDLER(我的 Flask 应用程序名为 app.py,因此值为 app.app - 如果您的应用程序名为 site.py,则为 site.app 或类似名称):

在此处输入图像描述

8) 单击确定并浏览到您的站点。

注意:不要忘记将 iis_iusrs 和 iusr 权限分配给站点文件夹和 python 文件夹。

于 2020-08-17T08:34:25.750 回答