gunicornとProcfileのコマンドの記述が不明瞭だったのでまとめておく
- gunicornは、PythonでWebサーバとWebアプリをつなぐ橋渡し的なもの
- Profileは、
<process type>: <command>
の形で定義する。
Process Types and the Procfile | Heroku Dev Center
タイプweb
だけは特別であり、herokuからのHTTPトラフィックがルーティングされる模様。 他は任意。 - gunicornのコマンドについて
Gunicorn で Django を使う方法 — Django 1.4 documentation
gunicorn [OPTIONS] APP_MODULE
で起動。APP_MODULEは、モジュール名:変数名の形で指定。 モジュール名はappでいい。変数名はWSGIに対応したオブジェクトの名前だ。
後者は.pyファイルの中で、appとして使っているのでそれのこと。つまり、app:app - nginxというのもわからん。エンジンエックスと読むらしい。 Webサーバソフト。gunicornがサーバなので使うことはないか?
テンプレ的には、Procfileにgunicornを使うようにして、
web: gunicorn app:app
とだけ書けば動く。もののチュートリアルによってはさらにオプションで
web: gunicorn app:app --log-file=-
とオプションを追加すると、エラーログを標準エラー(stderr)へ出力する模様。
Settings — Gunicorn 19.7.1 documentationのerrorlog
を参考のこと。
なお、バージョン19.2からは標準でstderrに出力するようだ。
つまり、オプションはなくてもいい。
コメント