一般ユーザーで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