我可以使用 pm2 来保留 Next.js 应用程序 运行

Can I use pm2 to keep a Next.js app running

我有一个 AWS EC2,仅用于保持我的 Next.js 客户端 运行ning(目前没有后端)。目前,如果我进入终端并输入 npm run develop,该站点 运行 是完美的。但是,我希望此过程始终 运行ning 在实例的后台。有什么办法可以用 pm2 做到这一点吗?

我已经在全球范围内安装了它,但它不会让我 运行 pm2 start npm run develop。顺便说一句,是的,我现在 运行 在开发模式下想要它。

是的,但请确保该命令存在于 package.json

  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint"
  }

所以在这种情况下,pm2 命令将是

pm2 start npm --  dev
#in your case
pm2 start npm --  develop

或者像@brc 提到的那样取个好听的名字

pm2 start npm --name "next-js" -- dev

虽然 运行 在 EC2 上,但保存启动过程也是一个好习惯

PM2 can generate startup scripts and configure them in order to keep your process list intact across expected or unexpected machine restarts.

https://pm2.keymetrics.io/docs/usage/startup/

pm2 startup
pm2 save