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

Django移植Heroku时端口配置报错公网URL无法访问如何解决

问题解决步骤
  • 首先修正Procfile变量转义问题
    你之前通过带转义符的echo命令生成Procfile,导致文件中保存了字面量的\$PORT,环境变量无法被正确解析。直接手动编辑Procfile,将web行修改为如下内容,不要添加任何转义符:
web: python manage.py runserver 0.0.0.0:$PORT
release: python manage.py migrate

如果是Windows PowerShell环境,不要用echo命令生成Procfile,手动编辑可以避免转义逻辑不一致导致的问题。

  • 替换开发服务器为生产级服务器(可选但强烈建议)
    Django自带的runserver是仅用于开发调试的服务器,性能和安全性都不符合公网部署要求,Heroku官方推荐使用Gunicorn作为WSGI服务器:
  1. 本地安装Gunicorn:pip install gunicorn
  2. 更新依赖清单:pip freeze > requirements.txt
  3. 将Procfile的web行修改为(替换为你实际的Django项目名):
web: gunicorn 你的项目名.wsgi --log-file -
release: python manage.py migrate
  • 修正ALLOWED_HOSTS配置
    你当前settings.py中ALLOWED_HOSTS = ["url"]是无效配置,需要修改为你的Heroku应用实际域名,例如:
ALLOWED_HOSTS = ["你的Heroku应用名.herokuapp.com", "127.0.0.1"]

测试阶段也可以临时设置为ALLOWED_HOSTS = ["*"]匹配所有域名,正式上线后再替换为专属域名。

  • 配置Heroku生产环境变量
    不要把.env文件推送到Heroku,敏感配置通过Heroku的config命令设置:
  1. 设置生产环境关闭调试:heroku config:set DJANGO_DEBUG=False
  2. 设置生产环境SECRET_KEY:heroku config:set SECRET_KEY=你生成的随机安全密钥
  • 部署验证
    所有修改完成后,提交代码并推送到Heroku:
git add Procfile requirements.txt your_project_name/settings.py
git commit -m "fix deployment config"
git push heroku main

推送完成后运行heroku open即可访问公网URL。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:57:05