Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9027

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

$
0
0

はじめに

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

参考


Viewing all articles
Browse latest Browse all 9027

Trending Articles