【python】pythonで作った仮想通貨自動売買プログラムをAWSで永続化してみる

2021年4月18日

pythonで作成した仮想通貨自動売買プログラムをAWSのEC2上で永続化してみました。

通常の起動方法でする場合、以下のコマンドをターミナルから実行しますが、ターミナルを閉じた場合は終了してしまいます。

python main.py

スリープしたり電源が落ちたりすると止まってしまうので、foreverコマンドを使ってEC2上で動かしてみます。

EC2でforeverコマンドを使えるようにする

foreverコマンドはnode.js用のコマンドですが、オプションを指定すればpythonも永続的なプロセスとして起動可能です。

foreverコマンドnpmコマンドでインストールするのですが、npmが使えないのでnpmをインストールします。

Linux インスタンスで Node.js を設定するには

  1. SSH を使用して、Linux インスタンスに ec2-user として接続します。
  2. コマンドラインで次のように入力して、ノードバージョンマネージャー (nvm) をインストールします。
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
. ~/.nvm/nvm.sh

 3.コマンドラインで次のように入力して、nvm を有効にします。

. ~/.nvm/nvm.sh

 4.コマンドラインで次のように入力し、nvm を使用して Node.js の最新バージョンをインストールします。 

nvm install node

 Node.js をインストールすると、Node Package Manager (npm) もインストールされるため、必要に応じて追加のモジュールをインストールできます。

 5.npmコマンドでインストールします。

npm install forever -g

これで、foreverコマンドが使えるようになりました。

foreverコマンドの実行

forever start -c python3 main.py

foreverコマンドで実行されているプログラムの確認

forever list

止める場合

forever stop main.py

一度SSH接続を切って再接続で無事に動作していることが確認できた。

AWS

Posted by Next-k