Django: Heroku Не удалось запустить, at=код ошибки=H10 desc=»Приложение разбилось»

#python #python-3.x #django #heroku

Вопрос:

Пытаюсь запустить приложение на Heroku, и в течение последних нескольких недель я просто не могу избавиться от этой ошибки. Я правильно настроил свое репо, и все было отправлено на Heroku через git, затем, когда я открываю свой сайт по указанной мне ссылке, я вижу сообщение об ошибке сбоя приложения. Я просматриваю свои журналы, но, похоже, не могу понять, откуда исходит ошибка или как начать отладку. Если кто-нибудь может помочь, это было бы потрясающе! Спасибо!

Мое сообщение в журнале ниже:

 2015-02-02T04:01:38.814574 00:00 heroku[web.1]: Starting process with command `gunicorn indie_app.wsgi`
2015-02-02T04:01:39.881951 00:00 app[web.1]: Traceback (most recent call last):
2015-02-02T04:01:39.881989 00:00 app[web.1]:     sys.exit(run())
2015-02-02T04:01:39.882016 00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 74, in run
2015-02-02T04:01:39.881966 00:00 app[web.1]:   File "/app/.heroku/python/bin/gunicorn", line 11, in <module>
2015-02-02T04:01:39.882149 00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/base.py", line 71, in run
2015-02-02T04:01:39.882183 00:00 app[web.1]:     Arbiter(self).run()
2015-02-02T04:01:39.882250 00:00 app[web.1]:     self.manage_workers()
2015-02-02T04:01:39.882055 00:00 app[web.1]:     WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
2015-02-02T04:01:39.882129 00:00 app[web.1]:     super(Application, self).run()
2015-02-02T04:01:39.882077 00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/base.py", line 185, in run
2015-02-02T04:01:39.882210 00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/arbiter.py", line 169, in run
2015-02-02T04:01:39.882270 00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/arbiter.py", line 477, in manage_workers
2015-02-02T04:01:39.882356 00:00 app[web.1]:     self.spawn_workers()
2015-02-02T04:01:39.882376 00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/arbiter.py", line 542, in spawn_workers
2015-02-02T04:01:39.882473 00:00 app[web.1]:     time.sleep(0.1 * random.random())
2015-02-02T04:01:39.882563 00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/arbiter.py", line 459, in reap_workers
2015-02-02T04:01:39.882493 00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/arbiter.py", line 209, in handle_chld
2015-02-02T04:01:39.882652 00:00 app[web.1]:     raise HaltServer(reason, self.WORKER_BOOT_ERROR)
2015-02-02T04:01:39.882741 00:00 app[web.1]: gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
2015-02-02T04:01:39.882542 00:00 app[web.1]:     self.reap_workers()
2015-02-02T04:01:40.654279 00:00 heroku[web.1]: Process exited with status 1
2015-02-02T04:01:40.673618 00:00 heroku[web.1]: State changed from starting to crashed
2015-02-02T04:01:40.674364 00:00 heroku[web.1]: State changed from crashed to starting
2015-02-02T04:01:50.369085 00:00 heroku[web.1]: Starting process with command `gunicorn indie_app.wsgi`
2015-02-02T04:01:52.540605 00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/base.py", line 185, in run
2015-02-02T04:01:52.540682 00:00 app[web.1]:     super(Application, self).run()
2015-02-02T04:01:52.540719 00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/base.py", line 71, in run
2015-02-02T04:01:52.540770 00:00 app[web.1]:     Arbiter(self).run()
2015-02-02T04:01:52.540800 00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/arbiter.py", line 169, in run
2015-02-02T04:01:52.540859 00:00 app[web.1]:     self.manage_workers()
2015-02-02T04:01:52.540886 00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/arbiter.py", line 477, in manage_workers
2015-02-02T04:01:52.541011 00:00 app[web.1]:     self.spawn_workers()
2015-02-02T04:01:52.541038 00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/arbiter.py", line 542, in spawn_workers
2015-02-02T04:01:52.541156 00:00 app[web.1]:     time.sleep(0.1 * random.random())
2015-02-02T04:01:52.541181 00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/arbiter.py", line 209, in handle_chld
2015-02-02T04:01:52.541248 00:00 app[web.1]:     self.reap_workers()
2015-02-02T04:01:52.541276 00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/arbiter.py", line 459, in reap_workers
2015-02-02T04:01:52.541383 00:00 app[web.1]:     raise HaltServer(reason, self.WORKER_BOOT_ERROR)
2015-02-02T04:01:52.541508 00:00 app[web.1]: gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
2015-02-02T04:01:52.540589 00:00 app[web.1]:     WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
2015-02-02T04:01:52.540379 00:00 app[web.1]:   File "/app/.heroku/python/bin/gunicorn", line 11, in <module>
2015-02-02T04:01:52.540315 00:00 app[web.1]: Traceback (most recent call last):
2015-02-02T04:01:52.540502 00:00 app[web.1]:     sys.exit(run())
2015-02-02T04:01:52.540530 00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 74, in run
2015-02-02T04:01:53.479723 00:00 heroku[web.1]: Process exited with status 1
2015-02-02T04:01:53.497538 00:00 heroku[web.1]: State changed from starting to crashed
2015-02-02T04:01:53.908609 00:00 heroku[api]: Scale to web=1 by egbe@usc.edu
2015-02-02T04:02:04.383428 00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=salty-refuge-1024.herokuapp.com request_id=1abfe0da-fbd2-45f8-bd2f-52b5423acf6b fwd="24.228.44.221" dyno= connect= service= status=503 bytes=
2015-02-02T04:02:04.774497 00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=salty-refuge-1024.herokuapp.com request_id=bf481dcb-e6d2-4620-b19c-982b5bd3d531 fwd="24.228.44.221" dyno= connect= service= status=503 bytes=
2015-02-02T04:02:04.689179 00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=salty-refuge-1024.herokuapp.com request_id=46733f84-e2b4-4b0a-9733-e70cbc0f2d95 fwd="24.228.44.221" dyno= connect= service= status=503 bytes=
 

Комментарии:

1. @Raja indie_app-это название моего проекта, в котором мой settings.py находится

Ответ №1:

Та же ошибка возникает, когда gunicorn пакет не установлен (в вашем virtualenv ). Вот аналогичная обратная связь по состоянию на октябрь 2016 года:

 2016-10-21T08:35:56.041002 00:00 heroku[router]: at=error code=H10 
desc="App crashed" method=GET path="/" host=mygreatapp.herokuapp.com 
request_id=blablabla fwd="188.73.193.22" dyno= connect= service= 
status=503 bytes=
 

Я был так нетерпелив и во время преобразования моего локального приложения в Heroku (которое включает в себя создание Procfile , runtime.txt , .gitignore файлов, установку dj-database-url , whitenoise ) Я забыл установить самый важный пакет ( pip install gunicorn )!!!

Сделав это, H10 error исчез!

ура!

Комментарии:

1. И учебник Heroku изящно проигнорирован, чтобы упомянуть об этом.

2. Я также установил gunicorn, а также завершил настройку файла, почему он становится

3. Чтобы вы не искали, как его установить, pip install gunicorn .

Ответ №2:

Похоже, heroku не может запустить веб-сервер и поэтому изменил статус приложения на «разбился». Каждый раз, когда я получаю этот код ошибки Procfile , он был неправильно настроен или имел ошибки.

Ответ №3:

я также столкнулся с аналогичной проблемой, затем изменил файл Procfile, и это сработало ранее

 web: gunicorn django_project.wsgi
 

отредактированный

 web: gunicorn django_project.wsgi:application --log-file - --log-level debug
python manage.py collectstatic --noinput
manage.py migrate
 

Ответ №4:

Эта ошибка в основном вызвана неправильной Procfile настройкой .

У меня была та же проблема, и это было дополнительное пространство между web и : в моем Procfile . После исправления этого приложение заработало.

Ответ №5:

Для пользователей, которые впервые развертывают приложение Django через heroku, убедитесь, что вы указали правильное имя приложения в файле Procfile. Я допустил эту ошибку во время своего первого развертывания.

 web: gunicorn appname.wsgi:application --log-file - --log-level debug
python manage.py collectstatic --noinput
manage.py migrate
 

Здесь «имя приложения» — это название моего проекта, в котором settings.py файл присутствует.

Ответ №6:

я получил эту ошибку из-за новой конфигурации белого шума. я изменил его, и теперь он работает.

Whitenoise такой конфигурации несовместима с whitenoise такой В4.0 2020-08-22T08:14:04.757895 00:00 приложение[веб.1]: Это можно исправить, следуя инструкции по обновлению по адресу: 2020-08-22T08:14:04.757895 00:00 приложение[веб.1]: проверьте этот сайт для новой конфигурации => http://whitenoise.evans.io/en/stable/changelog.html#v4-0

Ответ №7:

 web: gunicorn djang_project_name.wsgi:application --log-file - --log-level debug
heroku ps:scale web=1
python manage.py migrate
 

Это решило мою проблему.

Ранее я выполнял роль python manage.py collectstatic

Ответ №8:

Добавьте пушечный корн в requirement.txt готово!! Я потратил час на эту ошибку.

убедитесь, что у вас есть Procfile:

 web: gunicorn --bind 0.0.0.0:$PORT project_name:app
 

помните, что ip должен быть 0.0.0.0

и добавьте файл требований с gunicorn помощью .

Комментарии:

1. что это hello:app ?

2. @Nitwit если вы ссылаетесь на некоторые руководства или документы, то для лучшего понимания и пребывания на одной странице, как правило, обращайтесь к их примеру приложения как привет. Вы можете заменить hello своим именем приложения.