#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 своим именем приложения.