我有一个AWS EC2,它只是为了让我的Next.js客户端运行(现在还没有后端)。目前,如果我进入终端,进入npm run develop
,网站运行完美。但是,我希望这个进程总是在实例的后台运行。我能用pm2做这件事吗?
我已经在全球安装了它,但是它不允许我运行pm2 start npm run develop
。顺便说一句,我希望它现在就能在开发模式下运行。
发布于 2021-12-15 10:19:44
是的,但是要确保命令存在于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
发布于 2022-12-02 05:45:20
我有一个完整的工作步骤,使用pm2和nginx在ubuntu平台上部署nextjs应用程序。
https://anuragdeep.com/deploy-nextjs-strapi-on-ubuntu-with-nginx-and-pm2/
发布于 2022-08-03 09:06:15
添加最佳答案:您应该考虑使用:
pm2 start npm -- start
因为它将运行生产建设,而不是开发(我知道OP问问题与开发,但它是重要的功能考虑应用程序在生产中。
https://stackoverflow.com/questions/70352826
复制相似问题