概要
ローカル環境でDjangoアプリを作成して、正常に動くことを確認。
Herokuへデプロイするために設定をして、デプロイが完了し、作成されたURLを開くとApplication Error
と表示される。
heroku logs --tail
でログを確認すると下記の表示。
heroku[router]: at=error code=H14 desc="No web processes running"
このような場合に確認することとその改善点は下記のとおり。
確認ポイント
heroku ps
でWebサーバーが動いているか確認。
下記の表示だとWebサーバーがない状態なので、Application Errorになる。
$ heroku ps
Free dyno hours quota remaining this month: 1000h 0m (100%)
Free dyno usage for this app: 0h 0m (0%)
For more information on dyno sleeping and how to upgrade, see:
https://devcenter.heroku.com/articles/dyno-sleeping
No dynos on ⬢ あなたが命名したアプリ名
正常に動いていれば下記の表示になる。
$ heroku ps
Free dyno hours quota remaining this month: 1000h 0m (100%)
Free dyno usage for this app: 0h 0m (0%)
For more information on dyno sleeping and how to upgrade, see:
https://devcenter.heroku.com/articles/dyno-sleeping
=== web (Free): gunicorn あなたが命名したDjangoプロジェクト名.wsgi --log-file - (1)
web.1: up 2021/09/23 22:32:59 +0900 (~ 16s ago)
改善方法
原因はHeroku用のProcfile
をprocfile
で誤って作成してデプロイしてしまったこと。
誤りに気付いて単純に存在するprocfile
のファイル名をProcfile
に変更して再度デプロイしたが、状況は変わらず。
ファイル名をprocfile
へもとに戻してgitから削除。
$ git rm procfile -f
新たにProcfile
を作成してデプロイしたところ正常に稼働し、サイトが表示された。