Azure部署Flask应用后页面不可见,部署日志无异常求排查提示
检查启动命令配置
在Azure Portal的App Service中,进入「配置>通用设置>启动命令」,确认已设置正确的启动指令,例如:gunicorn --bind=0.0.0.0 --workers=4 app:app其中
app:app对应你的Flask主文件名(如app.py)和文件内的Flask实例名(如app = Flask(__name__))。未设置启动命令时,Azure无法识别应用入口,会导致运行异常。查看运行时日志
登录Azure Portal,进入App Service的「日志>日志流」,或通过「高级工具>Kudu」访问/home/LogFiles目录,查看application.log、stdout.log或stderr.log,这些日志会记录应用启动和运行时的具体错误(如依赖缺失、代码语法错误等)——部署日志仅反映构建过程,无法体现运行时问题。验证依赖完整性
确认项目根目录的requirements.txt包含所有必要依赖(如Flask、gunicorn),Oryx构建时会自动安装该文件内的包,但遗漏依赖会导致运行时报错。可通过Kudu控制台进入/home/site/wwwroot,执行pip list对比本地已安装包,检查是否有缺失。修正端口配置
避免在代码中硬编码端口值,需读取Azure提供的PORT环境变量:import os from flask import Flask app = Flask(__name__) # ... 你的路由代码 ... if __name__ == '__main__': app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 5000)))Azure会动态分配端口,硬编码端口会导致应用无法接收请求。
确认文件结构正确性
确保Flask主文件(如app.py)位于/home/site/wwwroot根目录;若使用包结构(如myapp/__init__.py),需调整启动命令为对应路径(如gunicorn --bind=0.0.0.0 myapp:app)。本地预验证
先在本地环境启动应用,确认无报错、页面可正常访问后再部署,排除代码本身的逻辑错误。
内容的提问来源于stack exchange,提问作者user3789200

