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

Django API部署至Heroku遇H10应用崩溃错误,求解决方法

解决Heroku部署Django API时的H10崩溃错误

刚看到你部署Django API到Heroku时遇到了H10(App crashed)错误,这种错误一般是应用启动环节出了问题,结合你给出的配置和依赖信息,我整理了几个核心排查点和修复方案:

1. 数据库配置不兼容Heroku环境(大概率是核心原因)

你当前的数据库配置是从本地.env文件读取参数,但Heroku不会上传.env文件(通常会被.gitignore忽略),而且Heroku的Postgres服务会自动生成DATABASE_URL环境变量,不需要手动设置NAME/USER这类单独参数。

修复步骤:

  • 先安装dj-database-url工具,用来自动解析Heroku的数据库链接:
    pip install dj-database-url
    
    把这个依赖添加到你的requirements.txt中。
  • 修改settings.py里的数据库配置:
    import dj_database_url
    # 替换原来的DATABASES配置
    DATABASES = {
        'default': dj_database_url.config(default=env("DATABASE_URL"))
    }
    
    这样本地环境可以继续用.env里的DATABASE_URL,Heroku上会自动读取平台提供的数据库链接。

2. Heroku环境变量未配置

你的settings.py用django-environ读取DJANGO_SECRET_KEY、DJANGO_DEBUG等变量,但这些变量在Heroku上未设置的话,应用启动时会直接崩溃。

去Heroku后台的Settings -> Config Vars里添加以下变量:

  • DJANGO_SECRET_KEY:填入你本地.env里的Django密钥即可
  • DJANGO_DEBUG:生产环境建议设为False
  • 无需添加数据库相关的单独变量,Heroku会自动处理DATABASE_URL

3. 缺少Procfile启动文件

Heroku需要明确知道启动应用的命令,根目录如果没有Procfile,可能导致启动失败。

在项目根目录创建一个无后缀的Procfile文件,内容如下:

web: gunicorn project.wsgi --log-file -

注意这里的project要和你settings.py里WSGI_APPLICATION = 'project.wsgi.application'中的project保持一致。

4. 静态文件配置不完善

Django生产环境需要收集静态文件,Heroku部署时会自动执行collectstatic命令,配置不当会导致启动失败。

修复步骤:

  • 安装whitenoise处理静态文件:
    pip install whitenoise==5.2.0
    
    把依赖加到requirements.txt中。
  • 修改settings.py:
    # 添加静态文件根目录
    STATIC_ROOT = BASE_DIR / 'staticfiles'
    # 配置静态文件存储
    STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
    
  • 更新MIDDLEWARE,把Whitenoise中间件放到SecurityMiddleware之后:
    MIDDLEWARE = [
        'django.middleware.security.SecurityMiddleware',
        'whitenoise.middleware.WhiteNoiseMiddleware',  # 新增此行
        'corsheaders.middleware.CorsMiddleware',
        # 其余中间件保持不变
    ]
    

5. 查看详细崩溃日志

如果以上步骤都试过还是不行,运行下面的命令查看实时日志,能找到具体崩溃原因(比如依赖缺失、代码错误等):

heroku logs --tail

按照这些步骤调整后重新部署,应该就能解决H10崩溃问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:58:28