Flaskをsystemdとして自動起動する

flaskを自動起動にしてみた

Flaskをsystemdとして自動起動する
目次

1. 環境

$ python -V
Python 3.9.10

2. 設定ファイルの作成

  • /etc/systemd/system/XXXX.service ※systemdからプログラムを起動するための設定ファイル
$ sudo vi /etc/systemd/system/flask-test.service

[Unit]
Documentation=man:systemd-sysv-generator(8)
Description=flask test daemon

[Service]
User=r-oosugi
Type=simple
Restart=always
ExecStart=nohup /home/r-oosugi/src/.venv/bin/python /home/r-oosugi/src/app.py > /home/r-oosugi/src/logs/out.log 2> /home/r-oosugi/src/logs/err.log &

[Install]
WantedBy = multi-user.target

3. サービス起動確認

$ systemctl status flask-test.service 
● flask-test.service - flask test daemon
     Loaded: loaded (/etc/systemd/system/flask-test.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2022-06-10 22:58:19 JST; 1 day 16h ago
       Docs: man:systemd-sysv-generator(8)
   Main PID: 83773 (python)
      Tasks: 1 (limit: 50184)
     Memory: 18.2M
        CPU: 25.040s
     CGroup: /system.slice/flask-test.service
             └─83773 /home/r-oosugi/src/.venv/bin/python /home/r-oosugi/src/app.py ">" /home/r-oosugi/src/logs/out.l>

4. ログ

$ sudo journalctl -u flask-test.service

5. 参考

https://qiita.com/tkato/items/6a227e7c2c2bde19521c