【问题标题】:Unknown FastCGI error Occurred python web API发生未知的 FastCGI 错误 python web API
【发布时间】:2020-12-04 22:45:37
【问题描述】:

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

【问题讨论】:

  • wfastcgi 无法维护,stackoverflow.com/tags/wfastcgi/info
  • @Lex 您可以建议在 IIS 上托管 python Web API 的其他替代方案。
  • HttpPlatformHandler 或简单的 ARR。
  • 我们正在使用 HttpPlatformHandler。
  • 不,你没有。 HttpPlatformHandler 不使用 FastCGI,不会给您任何 FastCGI 错误。

标签: python iis-7 fastcgi wfastcgi


【解决方案1】:

您必须将两个参数放在由|分隔的双引号中
例如

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

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

【讨论】:

    【解决方案2】:

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

    1)安装python

    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)open iis 创建站点。

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

    点击“添加模块映射”

    可执行路径值:

    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)单击“确定”并浏览到您的站点。

    注意:不要忘记为site文件夹和python文件夹分配iis_iusrs和iusr权限。

    【讨论】:

    • 感谢您的回答,通过这个我们取得了很大的进步,但我们仍然停留在某个点上。我们收到此错误:bold FastCGI 进程超出了配置的活动超时bold。我们尝试增加 applicationHost.config 中的超时时间,但仍然遇到同样的问题。
    • @RajatNigam 转到 %windir%\system32\inetsrv\fcgiext.ini 并找到 ActivityTimeout 参数;将其复制到 [php] 部分。将参数更改为您想要的任何值,并确保它没有被注释掉。重新启动 IIS,你应该很好。也可以在服务器/IIS/FastCGI Settings/Edit下的IIS管理器中设置activityTimeout(IIS7及以上)。image
    • 这行不通。如果您输入 wfastcgi.py,我会弹出一个提示您只能指定 dll 或 exe 文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-26
    • 1970-01-01
    相关资源
    最近更新 更多