是否有一种方法让pm2运行npm启动脚本,或者你只需要运行pm2 start app.js
所以在发展中
npm start
然后在使用pm2的生产中,你会运行这样的程序
pm2 start 'npm start'
有一种等效的方法可以永远做到这一点:
forever start -c "npm start" ./
是否有一种方法让pm2运行npm启动脚本,或者你只需要运行pm2 start app.js
所以在发展中
npm start
然后在使用pm2的生产中,你会运行这样的程序
pm2 start 'npm start'
有一种等效的方法可以永远做到这一点:
forever start -c "npm start" ./
当前回答
开始前别忘了留出空间
pm2 start npm --[space]start
所以正确的命令是:
pm2 start npm -- start
其他回答
您可以将目录更改为项目
cd /my-project
然后运行
pm2 start "npm run start" \\ run npm script from your package.json
点击这里阅读更多
那些使用类似.json文件的配置脚本来运行pm2进程的人可以使用npm start或任何其他类似的脚本
my-app-pm2.json
{
"apps": [
{
"name": "my-app",
"script": "npm",
"args" : "start"
}
]
}
那么简单——
pm2 start my-app-pm2.json
Edit -当你在父目录中有这个配置脚本,并且想要在子目录中启动应用程序时,使用cwd属性来处理用例。
假设我们的应用程序在相对于这个配置文件的nested-app子目录中,那么-
{
"apps": [
{
"name": "my-nested-app",
"cwd": "./nested-app",
"script": "npm",
"args": "start"
}
]
}
这里有更多细节。
我需要在我的应用程序pm2中运行一个特定的npm脚本(对于每个env) 在我的例子中,是当我创建一个登台/测试服务时
对我有用的命令(参数必须这样转发):
pm2 start npm --name "my-app-name" -- run "npm:script"
例子:
pm2 start npm --name "myApp" -- run "start:test"
pm2 start npm --name "myApp" -- run "start:staging"
pm2 start npm --name "myApp" -- run "start:production"
希望有帮助
现在,你可以用after:
pm2 start npm -- start
关注https://github.com/Unitech/pm2/issues/1317#issuecomment-220955319
你需要在这里提供应用程序名称,比如myapp
pm2 start npm --name {appName} -- run {script name}
你可以通过
pm2 list
你也可以加上时间
pm2 restart "id" --log-date-format 'DD-MM HH:mm:ss.SSS'
or
pm2 restart "id" --time
您可以通过
pm2 log "id"
or
pm2 log "appName"
获取所有应用程序的日志
pm2 logs