Azure App Service on Linux 会在预定义好的Docker容器中,使用Gunicorn跑你的源代码
准备工作
Azure订阅
Python 3.7/3.8
VS Code(带有Python,Azure App Service Extension)
部署步骤
1. 新建 Azure Web App 资源
在VS Code中打开python应用的文件夹,在Azure explorer中登录账号

在App Service下新建一个Web App,输入名称,选择Python 3.7作为runtime

当你还未部署自己的应用时,打开web app网址会看到如下默认窗口

2. 准备你的Python Flask应用
在你的Python应用文件夹内根目录下,新建 requirements.txt,写入依赖包。因为部署时,容器默认会找这个文件去安装依赖包
Flask
当你的主文件非app.py或者application.py,需要新建一个包含启动命令的自定义启动文件startup.txt,如下,需替换{}内的内容。
gunicorn --bind=0.0.0.0 --timeout 600 --chdir {子文件夹名称} {启动py文件名}:{app object}
在Azure Portal的web app配置里,将启动命令指向这个文件

3. 部署到App Service
选择蓝色icon进行一键部署,选择你应用所在文件夹,以及你刚刚创建的app service进行部署

部署完成后,可以浏览网站查看部署结果
若查看Files文件夹,可以验证你部署上去的文件。其中 .deployment, *antenv.tar.gz *和 oryx-manifest.toml 是App Service构建系统. hostingstart.html 是默认的app页面.

相关链接
Azure-App-Service/python: base image for Python on linux app service (github.com)
教程:将 Python 应用从 Visual Studio Code 部署到 Linux 上的 Azure 应用服务 | Microsoft Docs