首页 > 解决方案 > Flask Azure Web 应用程序部署成功,但显示默认页面

问题描述

我使用本地 git 部署了一个带有 azure web 服务的 python 烧瓶应用程序。部署中心的状态显示“成功”,但是当我进入网页时,它仍然是默认页面,告诉我我正在运行 python 3.6.6。

当我导航到 kudu git clone uri 时,它显示“没有为 '/testapp1.git' 注册路由”

kudu 中的 /wwwroot 文件夹也有以下文件。

env
static (css folder)
__pycache__
app.py
hostingstart-python.html
hostingstart-python.py
index.html
requirements.txt
web.config

一个潜在的问题可能是因为 web.config 文件仍然引用了 hostingstart-python.application。

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

我尝试按照https://docs.microsoft.com/en-us/azure/app-service/containers/how-to-configure-python上的说明进行操作,但这是针对 linux 的,所以我不确定该怎么做因为我正在运行 Windows 10。

标签: pythonazureflaskweb-applicationsazure-web-app-service

解决方案


请参考我的工作步骤,看看错误是否仍然出现。:

正如您在 Azure App Service 上管理 Python 中发现的那样,Azure App Service 为您提供了一个site extension. 您可以在KUDU console.

第 1 步:创建 azure web 应用并添加扩展(这里是 Python 3.6.4 x64)

在此处输入图像描述

第 2 步:发布您的flask项目并添加web.config.

网络配置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="WSGI_HANDLER" value="<Your Project Name>.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\wfastcgi.py" resourceType="Unspecified" requireAccess="Script"/>
    </handlers>
  </system.webServer>
</configuration>

第三步:切换到 Kudu CMD 和命令cd Python361x64touch get-pip.py并将 url 的内容复制https://bootstrap.pypa.io/get-pip.pyget-pip.pyvia Edit 按钮,然后运行python get-pip.py安装 pip 工具。

在此处输入图像描述

第 4 步:安装您需要的任何软件包,例如:python -m pip install Flask

在此处输入图像描述

顺便说一句,您可以删除默认主页。


推荐阅读