Quantcast
Viewing all articles
Browse latest Browse all 2722

EC2の起動時にPython(Flask)を起動する方法

はじめに

EC2の起動時間が営業時間内に設定されている場合、毎朝コマンドを叩くのが面倒なので、
今回はpythonで作ったAPI(Flask)をshellを自動起動するようにしました。
参考サイトの方法を忘れないようにまとめたものです。

apiのshell化

自分は権限が足りなかったのでsudo

# sudo vim /usr/local/start_api.sh
----------------------------------
#!/bin/bash

nohup python3 /usr/local/api.py &

exit 0

自動起動の設定

ここでも権限が足りなかったので、sudoしました。

# sudo vim  /etc/init.d/api_start
-------------------------------
#!/bin/sh
# chkconfig: 345 99 10
# description: start_api shell
case "$1" in
  start)
    bash /usr/local/start_api.sh
       ;;
  stop)
     /usr/bin/kill python
       echo "stop!"
       ;;
  *) break ;;
esac

実行権限の付与

ここでもsudo

$ cd /etc/init.d
$ sudo chmod 775  api_start

自動起動への登録

$ chkconfig --add api_start

## 自動起動をonにする
$ chkconfig app_start on

## 設定されているかを確認する
$ chkconfig --list app_start

api_start       0:off   1:off   2:on    3:on    4:on    5:on    6:off

こうなれば終わり。

ちなみに、win10のコマンドプロンプロトの場合、ファイルの色が変わります。(白→緑)
Image may be NSFW.
Clik here to view.
image.png

Image may be NSFW.
Clik here to view.
image.png

最後に

インスタンスを再起動して、起動されているかを確認して、終わり。

参考サイト

https://hit.hateblo.jp/entry/aws/ec/initd
https://dev.classmethod.jp/articles/ec2shell/


Viewing all articles
Browse latest Browse all 2722

Trending Articles