HTTP 経由で静的ファイルを公開

HTTP 経由で静的ファイルを公開

PM2 は、pm2 serve 機能により、静的ファイルを非常に簡単に公開できます。指定したフォルダから raw ファイルを提供したり、SPA(シングルページアプリケーション)で提供したりできます。

CLI

簡単なコマンドで HTTP 経由で静的ファイル(フロントエンドアプリなど)を提供します。

pm2 serve <path> <port>

<path> を指定しない場合、現在のフォルダが使用されます。ポートについては、デフォルトは 8080 です。--name--watch など、通常のアプリケーションと同じオプションを使用できます。

プロセスファイル

プロセスファイルで提供する特別なディレクトリを宣言できます

module.exports = {
  script: "serve",
  env: {
    PM2_SERVE_PATH: '.',
    PM2_SERVE_PORT: 8080
  }
}

パスの指定に PM2_SERVE_PATH、ポートの指定に PM2_SERVE_PORT を環境変数に追加するだけです。デフォルトは CLI と同じです。

SPA の提供: すべてを index.html にリダイレクト

すべてのクエリを index.html に自動的にリダイレクトするには、--spa オプションを使用します。

pm2 serve --spa

プロセスファイル経由

module.exports = {
  script: "serve",
  env: {
    PM2_SERVE_PATH: '.',
    PM2_SERVE_PORT: 8080,
    PM2_SERVE_SPA: 'true',
    PM2_SERVE_HOMEPAGE: './index.html'
  }
}

パスワードでアクセスを保護

公開ファイルへのアクセスを基本保護するには、--basic-auth-username--basic-auth-password を使用できます。

pm2 serve --basic-auth-username <username> --basic-auth-password <password>

プロセスファイル経由

module.exports = {
  script: "serve",
  env: {
    PM2_SERVE_PATH: '.',
    PM2_SERVE_PORT: 8080,
    PM2_SERVE_BASIC_AUTH: 'true',
    PM2_SERVE_BASIC_AUTH_USERNAME: 'example-login',
    PM2_SERVE_BASIC_AUTH_PASSWORD: 'example-password'
  }
}
このページに貢献する