【问题标题】:Deploy Flask on Azure using Kudu - shows only default page使用 Kudu 在 Azure 上部署 Flask - 仅显示默认页面
【发布时间】:2020-10-19 18:01:16
【问题描述】:

我在 Python 中构建并部署了 Flask 应用程序到 Azure。我在本地测试了应用程序,一切正常。我正在使用 Kudu 在 Windows 和 Python 3.6 上进行部署。

但是,一旦应用成功部署,我只能看到默认页面:

本网站运行 Python 3.6.6

据我所见,问题出在 Kudu web.config 文件上,如下所示:

<configuration>
  <appSettings>
    <add key="pythonpath" value="%SystemDrive%\home\site\wwwroot" />
    <add key="WSGI_HANDLER" value="hostingstart-python.application" />
  </appSettings>
</configuration>

由于某种原因,它指向确实显示默认页面的hostingstart-python.application(具有.html.py 文件)。

我的/wwwroot 文件夹如下所示:

env
templates
.gitignore
app.py
config.py
file_manager.py
hostingstart-python.html
hostingstart-python.py
README.md
requirements.txt
web.config

我尝试了web.config 文件的各种版本,例如下面的那个,但没有任何运气。 对于WSGI_HANDLER,我输入了网络应用程序的名称,但也许必须有另一个名称?

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="WSGI_HANDLER" value="UploadToolApp.app"/>
    <add key="PYTHONPATH" value="D:\home\site\wwwroot"/>
    <add key="WSGI_LOG" value="D:\home\LogFiles\wfastcgi.log"/>
  </appSettings>
  <system.webServer>
    <handlers>
      <add name="PythonHandler" path="*" verb="*" modules="FastCgiModule" scriptProcessor="D:\home\Python364x64\python.exe|D:\home\Python364x64/scripts\wfastcgi.py" resourceType="Unspecified" requireAccess="Script"/>
    </handlers>
  </system.webServer>
</configuration>

结果:

由于发生内部服务器错误,页面无法显示。

【问题讨论】:

  • 试试&lt;add key="WSGI_HANDLER" value="app.*whatever-your-app-is-called-inside-app.py*"/&gt; 例如&lt;add key="WSGI_HANDLER" value="app.app"/&gt;。另请注意,Azure Windows 应用服务上的 Python 支持已弃用。
  • 最后我使用了 Linux,一切正常。很高兴知道,谢谢!

标签: python azure flask kudu


【解决方案1】:

解决方案是切换到 Linux 机器,然后一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2019-06-26
    相关资源
    最近更新 更多