Проблемы, возникающие при размещении приложения django на heroku
Привет, я только что разместил свое приложение Django на Heroku и столкнулся с этими двумя проблемами :
"Failed to detect app matching no buildpack"
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 не исправили ее и не исправили свои руководства, и вот тут-то все и начинает идти кувырком.
Теперь выполните следующие шаги, чтобы исправить это для вашей установки :
- Создайте файл под названием Procfile (он чувствителен к регистру - поэтому пишите P !) в корневом каталоге вашего приложения (где находится папка venv). На windows вам придется убедиться, что windows не добавляет расширение .txt . Я использую linux, поэтому это было просто 'touch Procfile'.
- Отредактируйте файл и впишите следующие данные для Django (другие приложения вы должны будете определить в зависимости от того, что необходимо для запуска): web: python website/manage.py runserver 0.0.0.0:$PORT Обратите внимание на интервал и IP, который вам нужно указать. Если вы пропустите последнюю часть, он будет запущен на localhost, к которому вы не сможете подключиться со своей машины. .
- git add the file and do a git push heroku master to push this file to the server. Мы еще не закончили, даже если push говорит, что все в порядке. .
- Помните, ранее 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)
Сделайте следующее для ее решения
- сначала удалите Procfile, но скопируйте его содержимое в буфер обмена .
- Затем введите следующую команду в вашей корневой папке dir...
git init
git add .
git commit -m "procfile-commit"
git push heroku master
create a new Procfile and paste the content from your clipboard
Then again type these following command
git init
git add .
git commit -m "procfile-commit"
git push heroku master