【问题标题】:Python app deployment on Heroku results in application error H10Heroku 上的 Python 应用程序部署导致应用程序错误 H10
【发布时间】:2017-11-04 05:33:06
【问题描述】:

我正在尝试将我的 Python 项目部署到 Heroku,我按照 Heroku 上的教程进行操作,但仍然遇到应用程序错误。

  (ISproject) Hessas-MBP-2:ISproject hessaaljeri$ git push heroku master
Counting objects: 9, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (9/9), done.
Writing objects: 100% (9/9), 985 bytes | 0 bytes/s, done.
Total 9 (delta 7), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote: 
remote: -----> Python app detected
remote:       /app/tmp/buildpacks/779a8bbfbbe7e1b715476c0b23fc63a2103b3e4131eda558669aba8fb5e6e05682419376144189b29beb5dee6d7626b4d3385edb0954bffea6c67d8cf622fd51/b in/steps/python: line 7: [: too many arguments
 remote: -----> Installing requirements with pip
 remote: 
 remote: -----> $ python manage.py collectstatic --noinput
 remote:        180 static files copied to    '/tmp/build_eb1f0e2e350e841c604cef9887a7c8c2/static'.
 remote: 
 remote: -----> Discovering process types
 remote:        Procfile declares types -> web
 remote: 
 remote: -----> Compressing...
 remote:        Done: 74.8M
 remote: -----> Launching...
 remote:        Released v6
 remote:        https://charitycba.herokuapp.com/ deployed to Heroku
 remote: 
 remote: Verifying deploy.... done.
 To https://git.heroku.com/charitycba.git
 2890bc6..116d04a  master -> master
 (ISproject) Hessas-MBP-2:ISproject hessaaljeri$ heroku run ./manage.py   migrate
 Running ./manage.py migrate on ⬢ charitycba... up, run.7297 (Free)
 Operations to perform:
 Synchronize unmigrated apps: crispy_forms, messages, datetimewidget,  staticfiles, geoposition
 Apply all migrations: auth, sessions, admin, registration, contenttypes, app, sites
 Synchronizing apps without migrations:
 Creating tables...
 Running deferred SQL...
 Installing custom SQL...
 Running migrations:
 No migrations to apply.

之后,当我打开它时,我得到了这个:

Heroku 日志文件:

 2017-06-02T21:43:25.157364+00:00 heroku[run.5045]: Starting process  with command `./manage.py migrate`
 2017-06-02T21:43:25.231039+00:00 heroku[run.5045]: State changed from  starting to up
2017-06-02T21:43:33.626152+00:00 heroku[run.5045]: State changed from up to complete
 2017-06-02T21:43:33.611887+00:00 heroku[run.5045]: Process exited with status 0
 2017-06-02T21:43:46.905298+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=charitycba.herokuapp.com  request_id=112cc8a0-cb4a-4039-bc79-e76980a4a287 fwd="31.203.118.236" dyno= connect= service= status=503 bytes= protocol=https
 2017-06-02T21:44:24.998284+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=charitycba.herokuapp.com request_id=fe3bb21b-b3ea-4ea3-bc45-b0084aad829e fwd="31.203.118.236" dyno= connect= service= status=503 bytes= protocol=https
 2017-06-02T21:45:22.765792+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=charitycba.herokuapp.com request_id=f54d4bac-d8b6-422d-b24a-1f655c6ea2c5 fwd="31.203.118.236" dyno= connect= service= status=503 bytes= protocol=https

我错过了什么?

【问题讨论】:

  • 查看您的日志以了解详细信息并将其发布在此处。我猜这是一个 500 错误。
  • 我不使用heroku,但是你发布的看起来像是部署日志,而不是应用日志。
  • 你的 Procfile 是什么样子的?
  • @BojanKogoj web: gunicorn gettingstarted.wsgi --log-file -
  • 您能否尝试删除 --log-file -,这可能会阻止日志消息出现在 heroku 上,但我不确定。

标签: python django git heroku web-deployment


【解决方案1】:

我是如何解决的:

在我的 settings.py 中:

STATIC_ROOT = os.path.join(PROJECT_ROOT, 'staticfiles')
STATIC_URL = '/static/'

STATICFILES_DIRS = (
   os.path.join(PROJECT_ROOT, '../app/static'),
)

'../app/static' 我告诉它去一个目录并进入我的应用程序,它有我的静态文件夹。

在我的 Procfile 中

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

我用 project.wsgi 替换了 gettingstarted.wsgi 因为 wsgi.py 在我的项目文件夹中。

【讨论】:

    猜你喜欢
    • 2022-01-26
    • 2019-12-05
    • 2021-12-06
    • 2021-11-27
    • 2015-11-08
    • 2020-08-25
    • 2020-10-21
    • 1970-01-01
    • 2017-08-22
    相关资源
    最近更新 更多