AH01114:HTTP:无法连接到后端:localhost

AH01114:HTTP:无法连接到后端:localhost

我知道你们中的一些人可能认为这有点偏离主题,但我不确定这是服务器的错误还是我的配置文件的错误,所以......

我创建了 React.js 项目,但它需要服务器端渲染,所以现在我必须从 CRA 迁移到 next.js。问题:我必须将我的网站上传到 apache 网络服务器上,从我从谷歌收集的信息来看,我需要安装 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

相关内容