フロントエンド開発といえば。
react アプリの初期化( npm init vite@latest <アプリ名> )

プロセスマネージャー pm2で next.js を動作させる

● 1. pm2 のインストール

-g オプションをつけてグローバルにインストールします

 npm install pm2@latest -g

バージョンを確認します

pm2 --version
5.3.0


● 2-A. ワンライナーでpm2からnext.jsを起動する

npm run start コマンドを pm2 から実行します。

cd <nextjsアプリのディレクトリ >
pm2 start --name "my-next-app" npm -- start 

npm run start :staging コマンドといった任意のコマンドを pm2 から実行する場合はこちら。

pm2 start --name "my-next-app" npm -- run start:staging


● 2-B. 設定ファイルを作成して pm2からnext.jsアプリを起動する

pm2 init simple 

ecosystem.config.js が自動生成されますので編集します。

module.exports = {
  apps: [
    {
      name: 'NextAppName',
      exec_mode: 'cluster',
      instances: 'max',
      script: 'node_modules/next/dist/bin/next',
      args: 'start',
      env_local: {
        APP_ENV: 'local' // APP_ENV=local
      },
      env_dev: {
        APP_ENV: 'dev' // APP_ENV=dev
      },
      env_prod: {
        APP_ENV: 'prod' // APP_ENV=prod
      }
    }
  ]
}

以下のコマンドでプロセスを起動します

pm2 startOrRestart ecosystem.config.js --env dev


● pm2のコマンド

プロセスの状態を見る

pm2 ls

「nextjs」という名前のアプリを停止する

pm2 stop nextjs

「nextjs」という名前のアプリをプロセスリストから削除する

pm2 delete nextjs

「nextjs」という名前のアプリをリスタートする

pm2 restart app_name

● pm2 を サーバーマシン起動時に自動実行するように設定する

pm2 を自動起動させる( centos )

pm2 startup

実行後に表示されるコマンドをルート権限(または sudo できるユーザー)から実行します

● pm2自動起動時の起動プロセスを保存

pm2 を自動起動させる

pm2 save

関連エントリー

No.1907
12/10 17:45

edit

next.js