はじめに
仮想マシン(GCE)でFlaskアプリを実行するとき…、
な~んにも勉強していなかったので、以下のように実行していました。
python3 main.py
ですが、、本番環境では以下のように実行したほうがいいんですって。
gunicorn -w 4 main:app
その理由と、使い方だけ最低限まとめます。
Gunicornを本番環境で使う理由
ずばり、「ワーカープロセスを設定して、処理能力を向上させる」。
ワーカープロセスの設定"ってのは、
「アクセスした人が入る部屋をいくつ設けますか」ってこと。
仮に"4"とした場合、4つの部屋が作られて、訪問者はその部屋のどこかに入る。
要は、訪問者の処理待ちを緩和できるんですね。
※:ワーカープロセスの設定は、マシンの性能に合わせて調整すべし。
Gunicornの使い方
pipで簡単にインストールできます。
pip install gunicorn
そしたらあとはmain.py実行時に使うだけ
gunicorn -w 4 main:app
app.pyの場合は
gunicorn -w 4 app:app
でOK。
"4"というのはワーカープロセスの設定をしています。
この数値を変えることで、部屋の個数を設定できます。
デフォルトはポート番号8000で実行されるので、
nginx側のリバースプロキシを、8000で設定してあげればOK。
おわりに
本番環境でアプリが動くことはうれしい。