Help us understand the problem. What is going on with this article?

Node.jsアプリをLinux環境で常駐化させる forever編

More than 1 year has passed since last update.

Node.jsアプリをLinux環境で常駐化させる nohup編 のforever編です。

Node.jsアプリを動かす時に、コマンド実行したターミナルからログアウトしてしまうと、アプリも終了してしまいます。
sshを切ってもアプリを起動しておくには、いくつか方法があり、上記の記事ではnohupコマンドを紹介しました。
こちらではforeverについて紹介します。

foreverとは

nodeアプリをdaemon化することができる、npmモジュールです。
https://github.com/foreverjs/forever
また、エラー等でアプリが落ちた場合に、自動的にアプリを再起動してくれます。
この点がnohupよりも便利な点かなと思います。

動作確認環境

  • AWS EC2 (Amazon Linux)
  • Node.js:v8.12.0
  • express:4.16.4

install

$ npm install -g forever

$ forever --version
v0.15.3

アプリを起動する

$ forever start <JSファイル>

expressでアプリを構築した場合はnpm startnode ./bin/wwwが動くようになっています(初期状態)。
これを踏まえて、foreverで動かすために以下のコマンドを実行します。

$ forever start ./bin/www

foreverで動かしているアプリ一覧を表示する

$ forever list
info:    Forever processes running
data:        uid  command        script  forever pid   id logfile                 uptime
data:    [0] AAAA /~~~~/bin/node bin/www 11111   22222    /~~~~/.forever/AAAA.log 0:2:6:13.416

foreverを使って起動しているアプリの情報を見ることができます。
logfileに書かれているパスのファイルに、アプリのログが出力されています。

アプリを停止する

停止したいアプリの指定方法がいくつかあります。
指定する値は、それぞれforever listコマンドで出力された列の値に対応します。

$ forever stop <Index>  # forever list コマンドで表示される一番左の列の番号
$ forever stop <uid>
$ forever stop <script>

オプション

いくつかオプションが準備されています。

オプション 説明
-m MAX 自動で再起動する回数を指定する
-l LOGFILE ログの出力ファイル名の変更

-nオプションでログに行数を表示できそうだったので試したのですが、表示できませんでした。
私が何か間違えているのかもしれないです。。。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away