Code4Startup

さて、herokuが動作するようになると、おもむろにGunicornをインストールします。

Gunicornとは何か

http://gunicorn.org/
Gunicorn ‘Green Unicorn’ is a Python WSGI HTTP Server for UNIX.
Python製のWSGI サーバ

WSGI とは何か

http://gihyo.jp/dev/feature/01/wsgi/0001
WSGIはJavaにおけるJava Servelet APIと同じように,WebサーバとWebアプリケーション間の汎用的なインターフェースを定義しています。
要するに、Djangoを動作させるための土台、と考えればよいでしょうか。
次にインストールするのが、WhiteNoise

WhiteNoiseとは何か

https://pypi.org/project/whitenoise/
http://furodrive.com/2016/01/white_noisedjango/
WhiteNoiseとはWSGIアプリケーションのための静的ファイルを配信するのを簡単にしてくれるライブラリです。
少しの設定をするだけでAmazon S3やNginxに頼ることなく静的ファイルを配信できます。
本番サーバーで画像やcss等を参照できるようにするには色々と手順を踏まないといけなかったのですが、WhiteNoiseを使うとそのような手間が省けて大変便利です。
続いて、dj-database-url

dj-database-urlとは何か

https://github.com/kennethreitz/dj-database-url
http://y0m0r.hateblo.jp/entry/20121130/1354290868
dj-database-urlを使うとdb接続文字列を環境変数DATABASE_URLから取得させることができます。

さらにpsycopg2

PythonのPostgreSQL用ドライバ

これで、herokuに乗せるわけですが、色々講義内で想定されているエラー以外に、想定外のエラーが。
could not determine PostgreSQL version from ‘10.4’
諸々のサイトを見るとpsycopg2のバージョンを上げろと。
http://initd.org/psycopg/docs/
こちらで表示されるのが、現時点で2.7.5なのでそうしてみます。
そうすると、こんな感じのエラー
Could not find a version that satisfies the requirement psycopg2==2.7.5 (from -r /tmp/build_f493d80720eb882b01a250f718f3b058/requirements.txt (line 6)) (from versions: 2.0.10, 2.0.11, 2.0.12, 2.0.13, 2.0.14, 2.2.0, 2.2.1, 2.2.2, 2.3.0, 2.3.1, 2.3.2, 2.4, 2.4.1, 2.4.2, 2.4.3, 2.4.4, 2.4.5, 2.4.6, 2.5, 2.5.1, 2.5.2, 2.5.3, 2.5.4, 2.5.5, 2.6, 2.6.1, 2.6.2, 2.7, 2.7.1, 2.7.2, 2.7.3, 2.7.3.1, 2.7.3.2, 2.7.4)
では2.7.4で。
できました。It works! Awesome!(この講師の口癖?アメリカ人はよく使う?)

herokuでアプリを起動することもできましたので、
Task 4: [Python] – Heroku
Doneとなります。

Code4Startup

by カエレバ