You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DigitalOcean App Engine部署Django应用无报错失败排查求助

问题:DigitalOcean App Platform部署Django应用无报错提示却失败的排查方法

我们已有2个配置相似的应用正常运行,现尝试部署另一款Python Django应用,但在DigitalOcean App Platform中部署时无任何报错提示就失败了。应用启动后,平台突然终止部署,相关启动日志如下:

2023-01-10T04:22:27.009643496Z Operations to perform:
2023-01-10T04:22:27.009843250Z   Apply all migrations: accounts, admin, auth, authtoken, contenttypes, sessions
2023-01-10T04:22:27.025117275Z Running migrations:
2023-01-10T04:22:27.025132491Z   No migrations to apply.
2023-01-10T04:22:28.914809605Z [2023-01-10 04:22:28 +0000] [3] [INFO] Starting gunicorn 20.1.0
2023-01-10T04:22:28.916522026Z [2023-01-10 04:22:28 +0000] [3] [INFO] Listening at: http://0.0.0.0:5000 (3)
2023-01-10T04:22:28.916664847Z [2023-01-10 04:22:28 +0000] [3] [INFO] Using worker: uvicorn.workers.UvicornWorker
2023-01-10T04:22:28.977228185Z [2023-01-10 04:22:28 +0000] [4] [INFO] Booting worker with pid: 4
2023-01-10T04:22:30.789477002Z [2023-01-10 04:22:30 +0000] [4] [INFO] Started server process [4]
2023-01-10T04:22:30.789716598Z [2023-01-10 04:22:30 +0000] [4] [INFO] Waiting for application startup.
2023-01-10T04:22:30.790170632Z [2023-01-10 04:22:30 +0000] [4] [INFO] ASGI 'lifespan' protocol appears unsupported.
2023-01-10T04:22:30.790507246Z [2023-01-10 04:22:30 +0000] [4] [INFO] Application startup complete.

排查步骤

  • 检查端口匹配:DigitalOcean App Platform默认要求应用监听8080端口,但日志显示当前gunicorn监听的是5000端口。需修改启动命令,将端口改为8080,例如调整gunicorn启动指令为gunicorn --bind 0.0.0.0:8080 your_project.asgi:application(适配ASGI模式)或对应WSGI的配置。
  • 查看完整部署日志:当前日志仅显示应用启动阶段,平台可能在后续健康检查环节出现问题。进入DigitalOcean控制台的App详情页,切换至「Logs」标签,查看全阶段日志,重点关注健康检查请求的状态和响应情况。
  • 对比正常应用的配置细节:既然已有2个同类型应用运行正常,逐一核对以下配置:
    • 启动命令(Procfile内容或平台配置的启动指令)
    • 环境变量(数据库连接信息、DEBUG状态、SECRET_KEY等关键变量)
    • Python版本及依赖包版本(检查requirements.txt,确认gunicorn、uvicorn、Django等版本与正常应用一致)
  • 验证健康检查有效性:平台会自动执行健康检查,若应用的健康检查端点(默认是根路径/)无法返回200状态码,会触发部署终止。本地启动应用后,访问对应端口的根路径,确认是否能正常响应;也可在平台配置中指定适配的健康检查路径。
  • 检查资源配额限制:新应用可能因内存占用过高、CPU负载超出平台分配的实例配额被强制终止。查看当前App的实例规格(基础/专业型),对比正常应用的资源使用数据,必要时升级实例规格。
  • 本地模拟部署流程:在本地复刻平台的启动环境,安装所有依赖,执行与平台完全相同的启动命令,观察应用是否能稳定运行,排查是否存在隐性的崩溃问题(如后台线程错误、数据库连接泄漏等)。

内容的提问来源于stack exchange,提问作者Iqra Moazzama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 07:01:03