Djangoアプリをデーモン化する

一般ユーザーでuwsgiコマンドを打ち込んでDjangoアプリを起動すると、端末にずらずらログが吐き出されてうっとおしい。
おまけに、端末を切断するとアプリも止まってしまいます。
ここはひとつ、Djangoアプリをデーモン化してみたいと思います。

作業

こちらの記事で設定内容が説明されていたので、これを参考にしながらやってみました。

■uwsgi.ini
「# デーモン化」以降を追加します。

[uwsgi]
chdir = /home/ptgm/mydjango/app
module = config.wsgi
home = /home/ptgm/mydjango
master = true
processes = 10
socket = /home/ptgm/mydjango/app/mysite.sock
chmod-socket = 666 
vacuum = true
logto = /var/log/uwsgi-my_app.log

# デーモン化
daemonize = /var/log/uwsgi.log
log-reopen = true
log-maxsize = 8000000
logfile-chown = on
logfile-chmod = 644 
pidfile = /var/run/uwsgi/uwsgi.pid

/home/ptgm/mydjango virtualenvの環境
/home/ptgm/mydjango/app Djangoアプリのベースディレクトリ

■pidファイル用ディレクトリの作成

$ sudo mkdir /var/run/uwsgi

■Djangoアプリの起動
現在、コマンド一発で起動する方法は試行錯誤中なので、とりあえずrootアカウントで『source bin/activate』を実行してから、uwsgiコマンドを実行することにします。

$ pwd
/home/ptgm/django カレントディレクトリはvirtualenv環境
$ sudo su
# source bin/activate
# cd app Djangoアプリのベースディレクトリに移動
# uwsgi --ini uwsgi.ini

■アプリの停止

# uwsgi --stop /var/run/uwsgi/uwsgi.pid

■アプリのリロード
■アプリの停止

# uwsgi --reload /var/run/uwsgi/uwsgi.pid

参考記事

uWSGI入門|Python学習講座


アマゾン
紀伊國屋書店
楽天ブックス
honto
アマゾン
紀伊國屋書店
楽天ブックス
honto