Проблемы, возникающие при размещении приложения django на heroku

Привет, я только что разместил свое приложение Django на Heroku и столкнулся с этими двумя проблемами :

  1. "Failed to detect app matching no buildpack"
  2. Procfile declares types -> (none)

и когда я запускаю heroku logs --tail я получаю следующее

2013-08-31T21:00:25.085053+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path=/favicon.ico host=cristowip.herokuapp.com fwd="189.137.81.39" dyno= connect= service= status=503 bytes=

Проверьте с помощью heroku ps, запущен ли какой-либо процесс: $ heroku ps Это ничего не дало.

Итак, небольшой поиск в сети и на stackexchange указал на нечто под названием Procfile - что я никогда раньше не использовал. Очевидно, heroku подбирает информацию о том, что запускать автоматически, но иногда она сглаживается. Безопаснее поместить информацию в Procfile. Эта проблема, похоже, повторяется уже больше года, но ребята из Heroku не исправили ее и не исправили свои руководства, и вот тут-то все и начинает идти кувырком.

Теперь выполните следующие шаги, чтобы исправить это для вашей установки :

  1. Создайте файл под названием Procfile (он чувствителен к регистру - поэтому пишите P !) в корневом каталоге вашего приложения (где находится папка venv). На windows вам придется убедиться, что windows не добавляет расширение .txt . Я использую linux, поэтому это было просто 'touch Procfile'.
  2. Отредактируйте файл и впишите следующие данные для Django (другие приложения вы должны будете определить в зависимости от того, что необходимо для запуска): web: python website/manage.py runserver 0.0.0.0:$PORT Обратите внимание на интервал и IP, который вам нужно указать. Если вы пропустите последнюю часть, он будет запущен на localhost, к которому вы не сможете подключиться со своей машины.
  3. .
  4. git add the file and do a git push heroku master to push this file to the server. Мы еще не закончили, даже если push говорит, что все в порядке.
  5. .
  6. Помните, ранее heroku ps не давал никаких результатов? Итак, теперь вам нужно подключить процесс. Сделайте это с помощью следующей команды для добавления web dyno : $ heroku ps:scale web=1 Масштабирование веб-процессов... выполнено, теперь работает 1 Проверьте ваш сайт, он должен работать!

1. Для этого Failed to detect app matching no buildpack:

найдите платформу, на которой вы работаете, и создайте билдпак соответственно

.
  • Java: pom.xml

  • Ruby: Gemfile

  • Node.js:package.json

  • Python: requirements.txt / setup.py / Pipfile

  • PHP: composer.json / index.p

Например, если вы работаете над Django или flask, сделайте buildpack в вашей корневой папку с именем requirements.txt

2. Procfile declares types -> (none) Сделайте следующее для ее решения

  1. сначала удалите Procfile, но скопируйте его содержимое в буфер обмена
  2. .
  3. Затем введите следующую команду в вашей корневой папке dir...
  4. git init
  5. git add .
  6. git commit -m "procfile-commit"
  7. git push heroku master
  8. create a new Procfile and paste the content from your clipboard
  9. Then again type these following command
  10. git init
  11. git add .
  12. git commit -m "procfile-commit"
  13. git push heroku master
Вернуться на верх