みなさんこんにちは!
イザナギです!
いや〜、関東は暑いっすねwww今年関東で初めて夏を迎えた分けですが、東北出身者の私にとっては暑すぎる!!
しかもまだ7月だというのに...
これから暑さも本番に入って来ることを考えると、気が滅入る....
まあでも、元気にやっていきましょうw!
さてここからが本題です。
今回は「PM2」を使って、サーバー再起動時にnode(Nuxt)アプリの再起動設定をしてみた話をします。
PM2とは?
PM2 - Home
PM2とはNode.jsのプロセス管理ツールです。
Nodeアプリケーションのプロセスの監視、モニタリングをすることができます。
Nodeアプリのデーモン化も可能!
プロセスの監視を行なっているので、サーバーなどが停止した時にNodeアプリケーションを自動で再起動させることもできるみたいです!
しかもその設定が結構楽!
デーモン化ツールを「forever」から変更する
今まで、私は「forever」を使ってNuxtで作成したWebアプリをデーモン化していました。
しかし、私の借りているVPSが定期的にメンテナンス入り、VPSが再起動してしまいます。
再起動するたびに、「forever start -c & "yarn run start" . /」ってコマンド打つの疲れるんですよね...
「initd-forever」というパッケージを利用すれば、自動再起動設定ができるらしいのですが、何回挑戦しても自動起動設定が反映されない
(systemctl list-unit-files -t serviceで確認しても「generate」のまま)
なぜだ!
試行錯誤しても変わらなかったので、心機一転を含めて新たなパッケージ「PM2」を使用してみようと思います。今までありがとう!
「forever」感謝の気持ちを込め「yarn global remove forever initd-forever 」をしました。
PM2で自動再起動設定
PM2をインストール
さて、早速PM2をインストールしていきましょう!
公式サイトにある通り、以下のコマンドでダウンロード可能です。
// npmの場合
npm install pm2 -g
// yarnの場合
yarn global add pm2 --prefix /usr/local