有没有方法让pm2运行npm启动脚本,或者您只需运行pm2 start app.js
因此在发展中
npm start
那么在使用pm2的生产中,您将运行类似于
pm2 start 'npm start'
在forever
中有一种等价的方法来完成此操作:
forever start -c "npm start" ./
PM2现在支持npm启动:
pm2 start npm -- start
要为PM2进程指定名称,请使用--name
选项:
pm2 start npm --name "app name" -- start
那些正在使用配置脚本(如.json
文件)来运行pm2进程的人可以使用npm start
或任何其他类似的脚本-
my-app-pm2.json
{
"apps": [
{
"name": "my-app",
"script": "npm",
"args" : "start"
}
]
}
然后很简单-
pm2 start my-app-pm2.json
编辑--当您在父目录中有此配置脚本并希望在子目录中启动应用程序时,要处理用例,请使用cwd
属性。
假设我们的应用程序位于相对于该配置文件的nested-app
子目录中,那么-
{
"apps": [
{
"name": "my-nested-app",
"cwd": "./nested-app",
"script": "npm",
"args": "start"
}
]
}
更多细节在这里。
是的。使用pm2 start npm--no-automation--name{app name}--run{script name}
。它起作用了。之所以有--no-automation
标志,是因为没有它,PM2将不会在您的应用程序崩溃时重新启动它。