繁体   English   中英

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

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

我有一个 AWS EC2,仅用于保持我的 Next.js 客户端运行(目前没有后端)。 目前,如果我 go 进入终端并输入npm run develop ,该网站运行完美。 但是,我希望这个进程始终在实例的后台运行。 有什么办法可以用 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 可以生成启动脚本并对其进行配置,以使您的进程列表在预期或意外的机器重启时保持完整。

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

pm2 startup
pm2 save

添加到最佳答案:您应该真正考虑使用:

pm2 start npm --  start

因为它将运行生产构建,而不是开发(我知道 OP 用develop提出了问题,但考虑到应用程序正在生产中,这是一个重要的功能。

是的你可以

 pm2 start npm --name name_of_the_app -- start --port your_port

例如

pm2 start npm --name abhimanyu -- start --port 3000

我的应用程序名称是 (abhimanyu),它在端口 3000 上运行

注意:如果您不提供端口号,那么它将使用您项目中指定的默认端口

要获取在 pm2 中运行的项目列表,请输入

pm2 list

在此处输入图像描述

我已经添加了使用 pm2 和 nginx 在 ubuntu 平台上部署 nextjs 应用程序的完整工作步骤。

https://anuragdeep.com/deploy-nextjs-strapi-on-ubuntu-with-nginx-and-pm2/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM