next jsを永続化し落ちないようにするために試行錯誤したのでご紹介。
next jsをAWS ec2 のような環境に直接デプロイ(npm run start)すると安定せず突然サイトが落ちることがあります。
pm2を使用すると自動的にサーバーを再起動&監視してくれプロダクション環境でも安定して使用可能です。
#Step1
pm2 を環境にインストール
npm install -g pm2
上記のコマンドをPC(もしくはクラウド環境)に打ち込むとインストールできます。
#Step2
next jsをビルドする。
npm run build
ビルドすることにより、高速にページが開けるようになります。
#Step3
pm2でnext jsを永続化
pm2 start npm --name "next" -- start
ちなみに以下のパスから起動すると、ビルド前の非効率なサーバーが永続化されるので要注意。(googleで検索したらよく出てくるやつ)
ページスピードインサイトで構築中のサイトを”startで起動したもの”と"以下のパスで起動したも"の比較すると、ページの送信サイズが10倍ほど違うという結果になりました。(当然重すぎてまともな時間で動きませんでした。)
startだとかなり早くなります。
./node_modules/next/dist/bin/next
#Step4
pm2でサーバーが永続化されていることを確認
pm2 list
以上で完了!