AH01114: HTTP: バックエンドへの接続に失敗しました: localhost

AH01114: HTTP: バックエンドへの接続に失敗しました: localhost

少し話題から外れていると思う人もいるかもしれませんが、サーバーのせいなのか、私の設定ファイルのせいなのかはわかりません。

React.js プロジェクトを作成しましたが、サーバー側レンダリングが必要なので、CRA から next.js に移行する必要があります。問題: Web サイトを Apache Web サーバーにアップロードする必要があります。Google から収集した情報によると、node.js と pm2 (最新バージョン) をインストールし、リバース プロキシ用に Apache を構成する必要があります。また、pm2 用のエコシステムも作成しました (必要だったと思います)。現時点では次のようになっています。


module.exports = {
  apps : [{
    name: "nextjs-app",
    script: "npm",
    args: "run build",
    env: {
      NODE_ENV: "production"
    }
  }]
};

しかし、 pm2 start npm -- start を実行すると、ターミナルから次のような応答が返されます。

pm2 start npm -- start
[PM2] Spawning PM2 daemon with pm2_home=/home/georgianar/.pm2
[PM2] PM2 Successfully daemonized
[PM2] Starting /usr/local/bin/npm in fork_mode (1 instance)
[PM2] Done.

しかし、プロセスのリストを見ようとすると何もなく、ユーザーがウェブサイトにアクセスしようとすると、サイトログにポート3000にサービスがないことが示されます。

AH01114: HTTP: failed to make connection to backend: localhost

そして

(111)Connection refused: AH00957: http: attempt to connect to 127.0.0.1:3000 (localhost:3000) failed

したがって、この混乱の原因がサーバーのせいなのか、それとも私の設定ファイルなのかはわかりません。何かアイデアはありますか?

答え1

まず、package.jsonに以下のコマンドが存在することを確認してください。

"scripts": {
    "start": "next start -p 3000"
  }

次のコマンドを使用します

pm2 start yarn --name "nextjs-app" --interpreter bash -- start

詳細なプロセス情報を印刷するには、

pm2 show nextjs-app

PM2をサーバーの起動時に起動するように設定するには、以下のコマンドを実行します。

pm2 startup

pm2プロセスリストを保存して、サーバーの再起動後に再起動します。

pm2 save

関連情報