Azure Web App部署Python Flask应用仅显示默认页面求助
检查启动命令配置
进入Azure门户的应用服务配置页面,在「通用设置」的「启动命令」里添加:gunicorn main:app。如果你的Flask实例不是叫app,把main:app改成对应的入口(比如main:my_app)。也可以通过设置环境变量FLASK_APP=main.py和FLASK_ENV=production来指定启动入口。确认
requirements.txt文件完整性
仓库根目录必须包含requirements.txt,列出Flask、gunicorn等必要依赖,示例:Flask==2.3.3 gunicorn==21.2.0缺失这个文件的话,Azure无法安装应用依赖,自然无法启动自定义服务。
验证Flask应用入口
确保main.py里的Flask实例定义正确,比如:from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): return render_template('index.html') if __name__ == '__main__': app.run()启动命令里的
main:app要和代码中的实例名完全对应。检查模板路径与文件存在性
确认templates文件夹和index.html与main.py处于同级目录,且部署后通过SSH能在/home/site/wwwroot下看到这些文件。路径错误会导致Flask找不到模板,可能返回默认页面或错误。查看应用日志定位问题
进入Azure门户的应用服务「监控」-「日志流」查看实时日志,或通过SSH进入/home/LogFiles目录查看日志文件。日志会明确显示启动失败、依赖缺失、端口冲突等具体问题,是排查核心。确认部署文件位置
检查/home/site/wwwroot目录,确保你的main.py、templates、requirements.txt都直接放在该目录下,而非子文件夹中。部分部署方式可能不会自动覆盖Azure默认的静态页面文件。
内容的提问来源于stack exchange,提问作者michaelgimm

