python - 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。
解决方案
请参考我的工作步骤,看看错误是否仍然出现。:
正如您在 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 Python361x64
,touch get-pip.py
并将 url 的内容复制https://bootstrap.pypa.io/get-pip.py
到get-pip.py
via Edit 按钮,然后运行python get-pip.py
安装 pip 工具。
第 4 步:安装您需要的任何软件包,例如:python -m pip install Flask
顺便说一句,您可以删除默认主页。
推荐阅读
- performance - ClickHouse物化视图生成太慢
- r - 在R中的两个矩阵之间切换行
- python - 从 Flask 中的 curl 命令中检索选项标志的值
- android - 使用 Download Manager + FileProvider 打开 APK 以更新应用
- c# - 依赖注入:从大型程序集中注入单个类
- flutter - 如何在应用打开后立即在 Flutter 上运行调用 URL 的方法?
- javascript - 在滚动时突出显示侧边栏项目
- c# - 如何从 HttpClientHandler 实现 ServerCertificateCustomValidationCallback
- android - 谷歌游戏控制台
- jquery - 禁用/隐藏 iframe pdfviewer 中的打印和下载按钮