[英]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 和 nginx 在 ubuntu 平台上部署 nextjs 应用程序的完整工作步骤。
https://anuragdeep.com/deploy-nextjs-strapi-on-ubuntu-with-nginx-and-pm2/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.