heroku経由でのDjangoデプロイ時の出現したエラーとその解決法まとめ
- 作者: Neil Middleton,Richard Schneeman
- 出版社/メーカー: Oreilly & Associates Inc
- 発売日: 2013/11/24
- メディア: ペーパーバック
- クリック: 2回
- この商品を含むブログを見る
コメント
エラーが起きまくった・・・苦笑 まあたくさん収穫があったので、まとめておきます。
1:ProcFileの書き方がかなり変わったりしている
このようなエラーが出ました
・・・(略)・・・ at=error code=H10 desc="App crashed" ・・・(略)・・・
参考になった記事
shinriyo.hateblo.jp
どうも数年間以内に書かれたノウハウがまとめられたブログにProcFileの書き方にバリエーションがでていた、最新のものと違う書き方のものもたくさんあるっぽいので今後注意が必要かもしれない。
解決策=>ProcFileのwsgiのアプリケーション指定が間違えていた。プロトタイプのDjangoプロジェクト名でgunicornを起動させようとして間違えた。
ProcFileで通ったのは結局これ。$PORTは8000で通った人もいるらしいが自分はダメだった・・・
web: gunicorn [プロジェクト名].wsgi:application -b 0.0.0.0:$PORT
2 静的ファイルの扱いが公式ドキュメント通りにいかない。
こういうエラー
・・・(略)・・・ has no attribute 'Cling' heroku ・・・(略)・・・
解決策==>django whitenoise で全部まかなうとうまくいった。
参考記事1 stackoverflow.com
参考記事2 qiita.com
3ProcFileの設定で苦戦2度目?
参考記事
d.hatena.ne.jp
ProcFileの設定を変更
4git push heroku masterできない・・・
まじなんだこりゃ・・・でもまあ簡単に直ってよかった。
こういうエラー
$ git push heroku master fatal: 'heroku' does not appear to be a git repository fatal: Could not read from remote repository.
参考記事 qiita.com
5 collectstaticできない
これやるとエラーになる
$ python manage.py collectstatic --noinput
参考記事 qiita.com
static fileのパス設定がなんか微妙におかしかったらしい
__init__.py
を静的ファイルを入れる予定の空のディレクトリにも配置したのも良かったのかもしれない。
6 デプロイできたはずなのに"App boot timeout"って出てアプリ使えない
herokuにてVerifying deploy...done.って出たのに、使えない・・・ログを見ると下記のようなタイムエラー??
・・・(略)・・・ at=error code=H20 desc="App boot timeout" ・・・(略)・・・
gunicorn のポート設定が8000で決め打ちするとでた気がする。これを直すと直る。
参考記事 devcenter.heroku.com
7git push heroku master して更新の度にmediaファイルが消える!?
ナンデ、ヘロクナンデ??アイエエエ!でしたよ、そういう仕様らしいよ。
解決策==>AWS s3を使う!と、無事にメディアルートも消されないようになりました・・・
スタティックルートはOKなんだけど、media root メディアルートについての記事は検索しても見つからなかったので力業で乗り切りました・・・
疲れた・・・