🌊
Nest.jsアプリケーションをEC2インスタンス上で永続的に起動させる
pm2を利用した手順
-
pm2
のインストールnpm install -g pm2
-
Nestjsを
pm2
で起動pm2 start npm --name your-app-name -- run start
-
pm2
のプロセスリストを確認してアプリケーションが実行されていることを確認pm2 list
-
pm2
で起動したアプリケーションを自動的に再起動するように設定(コマンドを実行するように指示を受けるのでコピペして実行する)pm2 startup
-
現在の
pm2
のプロセスリストを保存pm2 save
pm2とは?
Node.jsをバックグラウンドで永続的に実行するためのプロセスマネージャ。
以下の特徴を持つ。
-
永続性: システムが再起動した後でも、
pm2
で管理されているアプリケーションは自動的に再起動されます。 - クラッシュリカバリ: アプリケーションが何らかの理由でクラッシュした場合、自動的に再起動されます。
- ロードバランサ: 複数のプロセスインスタンスを起動してロードバランシングを実施することができます。
- ログ管理: アプリケーションのログを一元的に取得・管理することができます。
- モニタリング: 実行中のアプリケーションのパフォーマンスやリソースの利用状況をリアルタイムで監視できます
Gitで更新を行う場合
git pull origin main
npm install
-
pm2 restart your-app-name
*pm2で永続化しているため、pm2をリスタートしないと変更が適用されない。
Discussion