UbuntuサーバでNode.jsのアプリの再起動に苦戦した時のメモ
前回、Node.js製のアプリをVPSのサーバに置いて、
サーバを再起動後にアプリも自動起動するように設定してみた。
しかし、Node.jsというのは仕様上、何かのエラーがあるとアプリが止まってしまう。
これは困るということで色々と調べてみたら、
アプリを永続化するforeverというライブラリがあった。
というわけで、foreverを利用してみる。
foreverのインストールはnpmのグローバルなインストールを利用する。
※アプリ毎ではなく、サーバ全体で使用するためのインストール
$ npm install -g forever # foreverのインストールの確認。foreverコマンドが使用できればインストールは成功している $ forever help: usage: forever [action] [options] SCRIPT [script-options] (以下省略)
foreverでNode.jsのアプリを起動してみる
forever start /home/to/path/index.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: /home/to/path/index.js
これでNode.js製のアプリの起動と永続化できた。
あとはサーバの再起動時にforeverからNode.jsアプリを起動できるようにする。
# foreverコマンドのパスを調べる $ type forever forever is /usr/local/bin/forever crontab -e
cronの設定画面を開き
@reboot /usr/local/bin/forever start /home/to/path/index.js
このコマンドを登録しておき、サーバの再起動後に
手動でNode.jsアプリを起動させずに
この画面が表示されることが確認できれば設定は終了。