ホーム 技術ネタ

Systemdでウェブアプリをデーモン化して永続化する最良な方法

やりたかったこと

PythonのアプリをAWSのEC2にあげて、python app.py とかでアプリをあげるけど、それを永続化してデーモン化して仮に落ちても自動で再起動するようなことをしたかった。Pythonアプリじゃなくても全然大丈夫

場所

$ cd /etc/systemd/system
$ vi app.service

コード

[Unit]
Description=App

[Service]
ExecStart=/bin/bash -c '/usr/bin/python3 /home/ubuntu/アプリ/app.py'
WorkingDirectory=/home/ubuntu/アプリ/
Restart=always
Type=simple
User=ubuntu

[Install]
WantedBy=multi-user.target

ポイント

ここで、プロセスが落ちても自動で再起動をするようになる

Restart=always

実行

$ sudo systemctl list-unit-files --type=service | grep app
$ sudo systemctl daemon-reload
$ sudo systemctl start app.service
$ sudo systemctl status app.service

詰まったこと

こちらのサイトを参考に一回してみたのですが、コード足らずで動かなったのと、権限足らずで動きませんでした。 権限で動かなければ sudo chmod 777 とかで権限最高解放すれば絶対に権限の問題は解決します

https://qiita.com/DQNEO/items/0b5d0bc5d3cf407cb7ff

Pocket
LinkedIn にシェア



新規webサービスの開発の依頼ならoffテク⭐️

低コストで、Reactなどモダン言語での新規webサービス開発を承ります

-ホーム, 技術ネタ
-, , , , , ,

Copyright© off , 2020 All Rights Reserved Powered by AFFINGER5.