一昨日の続き。今日は、アプリをデーモンとして動かす。
まず最初に、uWSGI の設定ファイルをちょっと書き換える。
最後の行を変更した。logger を daemonize に変えると何故かデーモンとしてバックグラウンドで動くようになるという、uWSGI のよくわからない仕様。
無事バックグラウンドで動くようになったら、systemd のサービスになるように設定ファイル /etc/systemd/system/lcstorage.service を書く。
[Unit]
Description=lcstorage service with uWSGI
[Service]
Type=forking
ExecStart=/usr/bin/uwsgi /home/lcstorage/lcstorage/lcstorage.ini
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -QUIT $MAINPID
PIDFile=/home/lcstorage/lcstorage/lcstorage.pid
WorkingDirectory=/home/lcstorage/lcstorage
User=lcstorage
Group=lcstorage
[Install]
WantedBy=multi-user.target
これでいいはず。試してみよう。
[lcstorage@bigswifty system]$ sudo systemctl start lcstorage [sudo] lcstorage のパスワード: [lcstorage@bigswifty system]$ ps ax | grep uwsgi 28937 ? S 0:00 /usr/bin/uwsgi /home/lcstorage/lcstorage/lcstorage.ini 28946 ? S 0:00 /usr/bin/uwsgi /home/lcstorage/lcstorage/lcstorage.ini 28947 ? S 0:00 /usr/bin/uwsgi /home/lcstorage/lcstorage/lcstorage.ini 28949 pts/1 S+ 0:00 grep --color=auto uwsgi
成功のようだ。他のマシンのブラウザからも確認できた。
最後に、マシンの起動にあわせて自動的に起動するようにする。
[lcstorage@bigswifty system]$ sudo systemctl enable lcstorage Created symlink from /etc/systemd/system/multi-user.target.wants/lcstorage.service to /etc/systemd/system/lcstorage.service.
さあ、あしたは Nginx 経由でアクセスできるようにしよう。時間があったらだけど。