LoginSignup
2
1

More than 3 years have passed since last update.

AWS EC2でターミナルを落としてもアプリが実行し続けるように設定する(デーモン化手順)

Posted at

はじめに

AWS EC2にて、Node.jsを使って自作したWebアプリケーションをデプロイすることは成功したのですが、
ターミナルを落とす(切断する)と、そのアプリケーションが稼働停止します。

ターミナルを落としても稼働し続けられるようには『デーモン化』という処理を行う必要があるようです。

そこで、私が行ったEC2におけるデーモン化処理について書いていきます。

この記事でわかること

  • Node.js + EC2でのデーモン化
  • foreverライブラリの導入方法
  • foreverライブラリの使い方(start, stop, list)

実行環境

  • AWS EC2 (Amazon Linux2 AMI)
  • Apache 2.4.46
  • Node.js 12.19.0
  • forever v3.0.2

解決方法

foreverライブラリのインストール

下記コマンドにてインストールするとともに、
正常にインストールされたかどうかを確認します。

$ npm install -g forever

$ forever --version
v3.0.2

foreverを用いたアプリケーションの実行

本来であれば app.js を実行するとき、$ node app.js と入力するのですが、
これではターミナルを落としたときに、実行も終了されてしまいます。

foreverライブラリを用いてデーモン化するときは、
$ forever start app.js と入力し、実行します。

$ forever start app.js
warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info:    Forever processing file: app.js

foreverを用いたアプリケーションの実行を終了する

foreverの実行状況を$ forever listコマンドによって確認します。
実行したアプリケーションに対して、5ケタのIDが設定されているので、それをメモしておきます。
次にforever stopコマンドによって実行を終了します。

$ forever stop [yourNumber]
info: Forever stopped process:

// 以下略

実行が終了されていることを確認します。

$ forever list
info: No forever processes running

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1