Gunicornの設定ファイルを勉強するの巻(うまく起動せず)
gunicornインストール – i2bsの日記
CentOS上でFlaskをpython3.4、Gunicorn + Nginxで動かす。 – Qiita
を参考にGunicornの勉強をしつつ、実験。
$ sudo groupadd -g 2002 gunicorn
-gオプションで、新規グループのID番号を指定。上記は2002番。
$ sudo useradd -u 2002 -g gunicorn -d /home/gunicorn -m -s /bin/bash gunicorn
-uオプションで新規のユーザID番号を指定。上記は2002番。-dオプションでログインディレクトリ指定。-mオプションでホームディレクトリの自動作成。-sオプションでユーザのログインシェルを指定。
$ sudo mkdir -p /usr/local/gunicorn/{conf,logs}
-pオプションで指定したディレクトリをサブディレクトリごと作成。上記はconfとlogsが出来上がる。
設定ファイル作成。
$ sudo vi /usr/local/gunicorn/conf/gunicorn.conf.py
gunicornの設定ファイルの権限をユーザgunicornに与える。
chown -R gunicorn. /usr/local/gunicorn
-Rオプションは再帰的に処理(ディレクトリがあったら同じように処理するということ)。
で、設定ファイルの中を読みながら理解。
bind = 'unix:/tmp/gunicorn.sock'
sockがよく分からない。調べているときにたまにでてきたので、ちょっと調査。
ソケット
と
ソケットプログラミング HOWTO — Python 3.4.2 ドキュメント
がまとまっていてわかりやすかった。後者はちょっと難しくて、理解できてないところ多いけど。
で、
nginxとgunicornとsupervisorを連携させる – saito’s blog
を読むと、上記の設定だと、Nginxの設定も必要かなと。gunicorn単体なら問題なさそう。
次に気になったのは、
umask = 0002
このコマンドを入力後に作成したファイルは、グループ全体の権限が付与されるようです。
参考:デフォルトのパーミッション | Firegoby
ふむふむ。
あとは、なんとなくそのままかなと。
とりあえず、gunicornを動かしてみる。
$ gunicorn --config /usr/local/gunicorn/conf/gunicorn.conf.py appname.wsgi
がエラー。
File "/usr/local/gunicorn/conf/gunicorn.conf.py", line 25
umask = 0002
^
SyntaxError: invalid token
とりあえず、umask = 0002部分をコメントアウトして起動しようとしたけど失敗。
bind = '127.0.0.0.1:8000'
に変更したけど失敗。
起動してない感じ。
原因なんだろうなあ。今日はここまで。