Web Apps on Linux での Node.js 向け PM2 構成の使用

Web Apps on Linux 向けにアプリケーション スタックを Node.js に設定した場合、Node.js スタートアップ ファイルを設定するためのオプションが次の図のように表示されます。

Node.js スタートアップ ファイルの設定

これを使用して、次のタスクのいずれかを実行できます。

  • Node.js アプリのスタートアップ スクリプトの指定 (例: /bin/server.js)。
  • Node.js アプリに使用する PM2 構成ファイルの指定 (例: /foo/process.json)。

    メモ

    特定のファイルが変更されたときに Node.js プロセスを自動的に再起動させるには、PM2 構成を使用します。 そうしないと、変更の通知を受信したときもアプリケーションが再起動しません (アプリケーション コードが変更されたときなど)。

Node.js のプロセス ファイルのドキュメントですべてのオプションを確認できますが、process.json ファイルとして使用できるもののサンプルを次に示します。

    {
      "name"        : "worker",
      "script"      : "/bin/server.js",
      "instances"   : 1,
      "merge_logs"  : true,
      "log_date_format" : "YYYY-MM-DD HH:mm Z",
      "watch": ["/bin/server.js", "foo.txt"],
      "watch_options": {
        "followSymlinks": true,
        "usePolling"   : true,
        "interval"    : 5
      }
    }

この構成で重要な点は次のとおりです。

  • "script" プロパティでは、アプリケーションの開始スクリプトを指定します。
  • "instances" プロパティでは、起動するノード プロセスのインスタンス数を指定します。 複数のコアを持つ大規模な VM でアプリケーションを実行している場合は、ここでより大きな値を設定し、リソースを最大化することをお勧めします。
  • "watch" 配列では、変更時にノード プロセスを再起動させるすべてのファイルを指定します。
  • "watch_options" には、現時点では "usePolling" を true として指定する必要があります。これはアプリケーションのコンテンツのマウント方法が原因です。

次のステップ