質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.47%

  • Python

    12249questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Django

    1694questions

    DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

  • Heroku

    1247questions

    HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

djangoでherokuにデプロイしたい

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 242

machid

score 12

発生している問題・エラーメッセージ

ローカルでは動作しますがherokuにデプロイするとクラッシュしApplication Errorがでます。

ログをたどると

Shutting down: Master
Reason: Worker failed to boot.
State changed from up to crashed
Process exited with status 3

code=H10のエラーが出ます。

web: gunicorn mysite.wsgi

Django-2.1.7
whitenoise-4.1.2
gunicorn-19.9.0

procfileの記述を中心にいろいろ試しましたが解決できません。
ご回答よろしくお願いいたします。

app[web.1]: raise HaltServer(reason, self.WORKER_BOOT_ERROR)
app[web.1]: gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
heroku[web.1]: State changed from starting to crashed
heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=djangodragon13.herokuapp.com request_id=cb599b3b-8412-464d-b876-08cfb6d5d494 fwd="117.102.189.134" dyno= connect= service= status=503 bytes= protocol=https
heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=djangodragon13.herokuapp.com request_id=f5a9adf2-cc0b-445e-a2b8-28213d361c6d fwd="117.102.189.134" dyno= connect= service= status=503 bytes= protocol=https
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • gh640

    2019/03/04 20:48 編集

    ryu22e さんがコメントされているように、ご提供されている情報が少ないので原因を特定するのが難しいかもしれません。

    以下は引き続き回答を期待されているのであれば、のコメントです(そうでない場合はスルーしてください)。

    「code=H10のエラー」とのことですが、次のページのサンプルのように、その前後にさまざまなエラーログが出力されているはずです。これを確認してご提示される必要があるものと思います( code=H10 だけだと本当にさまざまな原因が考えられるので、そのすべてのパターンを teratail 上でチェックしていくのは現実的ではないと思います)。

    https://devcenter.heroku.com/articles/error-codes#h10-app-crashed

    また、 `Procfile` ・ `requirements.txt` ・ `runtime.txt` 等の設定ファイルと、ローカルで適切に動作しているときの `settings.py` 、メインの `urls.py` 等の中身をご提示されるとより具体的な議論ができうるものと思います。

    キャンセル

回答 1

checkベストアンサー

+1

code=H10のエラーが出ます。

これだけだと何とも言えないので、code=H10が含まれているログ全体をここに貼ってもらえれば、何か分かるかもしれません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/02/27 18:36

    ご回答ありがとうございます。
    エラー文追記しました。

    キャンセル

  • 2019/02/27 18:42 編集

    貼ってもらった以下ログより上の方には何が書かれているでしょうか?
    恐らく、「何とかError」とか「何とかException」のようなメッセージが出力されていると思うのですが、そこにヒントがあるはずです。

    ```
    heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=djangodragon13.herokuapp.com request_id=cb599b3b-8412-464d-b876-08cfb6d5d494 fwd="117.102.189.134" dyno= connect= service= status=503 bytes= protocol=https
    heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=djangodragon13.herokuapp.com request_id=f5a9adf2-cc0b-445e-a2b8-28213d361c6d fwd="117.102.189.134" dyno= connect= service= status=503 bytes= protocol=https
    ```

    キャンセル

  • 2019/02/27 18:55

    ありがとうございます、追記しました。
    gunicornのエラーが出たりでなかったりします。

    キャンセル

  • 2019/02/27 19:10

    「gunicornのエラーが出たりでなかったり」ということはブラウザ上でもサイトの表示ができたりできなかったりするということでしょうか?

    それと、1点確認しておきたいのですが、Djangoプロジェクトの直下に `mysite/wsgi.py`というファイルはありますか? Procfileの内容を見ると、これをgunicornが読み込む設定になっているようなので、なければ作っておく必要があります。

    Herokuは公式にDjangoプロジェクトテンプレートを公開しています。
    以下を参考にして作るといいです。({{ project_name }}は今開発されているDjangoプロジェクト名に置き換えてください)
    https://github.com/heroku/heroku-django-template/blob/master/project_name/wsgi.py

    キャンセル

  • 2019/02/28 10:24

    お返事ありがとうございます。
    ブラウザ上ではApplication errorが表示されます。
    Djangoプロジェクト直下にはmysite/wsgi.pyを作っています。

    現在参考にしているのは
    https://djangogirlsjapan.gitbook.io/workshop_tutorialjp/です。
    テンプレートの情報ありがとうございます。

    キャンセル

  • 2019/02/28 11:37

    mysite/wsgi.pyは作っていましたか。
    今のところ確認できるログの内容では「gunicornがクラッシュした」という情報以外ないので、原因を特定するのは難しいです。
    raise HaltServerの前の行に「○○Error」とか「○○Exception」のようなメッセージは確認できないでしょうか?
    例えば、以下のように「ImportError: No module named elcarweb.wsgi」のようなメッセージが出力されているなら、存在しないelcarweb.wsgiを読み込もうとしてエラーになっているのが原因と分かります。
    https://stackoverflow.com/a/33366472

    (今回のケースではmysite/wsgi.pyは作成されているとのことなので、別のエラーかもしれませんが)

    キャンセル

  • 2019/02/28 14:18

    ありがとうございます。
    State changed from crashed to starting
    heroku[web.1]: Starting process with command `gunicorn mysite.wsgi`
    app[web.1]: [2019-02-28 03:00:06 +0000] [4] [INFO] Starting gunicorn 19.9.0
    app[web.1]: [2019-02-28 03:00:06 +0000] [4] [INFO] Listening at: http://0.0.0.0:17614 (4)
    app[web.1]: [2019-02-28 03:00:06 +0000] [4] [INFO] Using worker: sync
    app[web.1]: [2019-02-28 03:00:06 +0000] [10] [INFO] Booting worker with pid: 10
    app[web.1]: [2019-02-28 03:00:06 +0000] [11] [INFO] Booting worker with pid: 11
    app[web.1]: [2019-02-28 03:00:07 +0000] [10] [ERROR] Exception in worker process

    このようなメッセージが確認できますが原因がわかりません。

    キャンセル

  • 2019/02/28 14:25

    「app[web.1]: [2019-02-28 03:00:07 +0000] [10] [ERROR] Exception in worker process」の下に「Traceback (most recent call last):」というメッセージがあって、その下に「○○Error」・「○○Exception」のようなエラーメッセージが出てくるはずなんですけどねー。

    貼ってもらったログは「heroku logs」で確認しているのでしょうか? どうやって確認しているのか教えてもらえますか?

    キャンセル

  • 2019/02/28 18:04

    返信ありがとうございます。
    貼らせていただいたログはheroku logs --tail
    で確認しています。

    キャンセル

  • 2019/02/28 18:56

    heroku logs --tailで確認しているなら必要な情報は見られるはずなんですけどねー。

    繰り返しますが、貼ってもらったログの「app[web.1]: [2019-02-28 03:00:07 +0000] [10] [ERROR] Exception in worker process」の下に「Traceback (most recent call last):」というメッセージがあって、その下に「○○Error」・「○○Exception」のようなgunicornがクラッシュする原因になっているエラーの名前が表示されているはずです。
    それが読めればお力になれると思うのですが、それが表示されていないということであれば、ちょっと私には見当が付きません。
    長々と付き合っていただいたのに申し訳ないです…

    キャンセル

  • 2019/03/07 14:31

    Pythonanywhereにデプロイすることで解決(?)いたしました。
    たくさんの情報を教えていただきありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.47%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • Python

    12249questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Django

    1694questions

    DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

  • Heroku

    1247questions

    HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。