python flask测试站点无法在IIS服务器上运行,但是可以在localhost上运行

问题描述

已授予我访问IIS服务器的权限 Windows 2012 R2 IIS版本8.5.9600

我已成功安装 python 3.8 wfastcgi 烧瓶

我编写了一个基本的“ hello world” python flask应用程序,我对其进行了测试并可以在本地主机上运行

我创建了我的web.config文件,并具有以下内容

<configuration>
  <system.webServer>
    <handlers>
      <add name="Python FastCGI"
           path="*"
           verb="*"
           modules="FastCgiModule"
           scriptprocessor="C:\python36\python.exe|C:\python38\Lib\site-packages\wfastcgi.py"
           resourceType="Unspecified"
           requireAccess="Script" />
    </handlers>
  </system.webServer>

  <appSettings>
    <!-- required settings -->
    <add key="Wsgi_HANDLER" value="hello.app" />
    <add key="PYTHONPATH" value="C:\inetpub\wwwroot\test_site" />
  </appSettings>
</configuration>

对于该网站,我使IISUsers具有“修改”和“写入”访问权限

我无法加载该网站。我在配置中缺少任何内容吗?

当我单击IIS时,出现FasCTI设置,并正确指向python。 我在日志中收到500错误

非常感谢帮助。

最佳

damnGroundHog

解决方法

所以看来我一切都正确,但我决定尝试一些设置,特别是绑定。

当我将端口从80更改为8080并取消了主机名时,它就起作用了。好极了!现在,我将看一下绑定,看看为什么我的基本index.html可以工作,但是hello.py不能

,

通过恢复类似于python项目的项目,它可以在窗口服务器上成功运行。我遵循本教程,您可以参考它。

Detail steps

在我的应用程序过程中,该端口仅在端口8080上也可以使用,因为该应用程序已部署在默认网站下。同时index.html因为设置了默认文档而起作用,您可以检查默认文档模块。