pm2是否可以运行npm start脚本,还是只需要运行 pm2 start app.js
所以在发展中
npm start
然后在pm2的生产环境中运行类似
pm2 start 'npm start'
有一种等效的方法可以做到这一点forever
:
forever start -c "npm start" ./
pm2是否可以运行npm start脚本,还是只需要运行 pm2 start app.js
所以在发展中
npm start
然后在pm2的生产环境中运行类似
pm2 start 'npm start'
有一种等效的方法可以做到这一点forever
:
forever start -c "npm start" ./
Answers:
PM2现在支持npm start:
pm2 start npm -- start
要将名称分配给PM2进程,请使用以下--name
选项:
pm2 start npm --name "app name" -- start
--name "app"
但只是将其设置为npm。
npm 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"
}
]
}
更多详情 这里有。
start
脚本信息的package.json 在其中之一中。看到这个要点:gist.github.com/gianpaj/04c5680a8275616aac5e46374e07f673当我运行它时,它不知道npm
从哪里运行。Thx
cwd
属性。检查我编辑的答案:)
sudo pm2 start config.json
我在下面编写了shell脚本(名为start.sh
)。因为我package.json
有prestart
选择。所以我要跑步npm start
。
#!/bin/bash
cd /path/to/project
npm start
然后,从start.sh
pm2 开始。
pm2 start start.sh --name appNameYouLike
startOrRestart
命令时此方法不起作用。
是的,我们可以,现在pm2支持npm start,--name到种类应用程序名称。
pm2 start npm --name "app" -- start
请参阅启用集群:
pm2 start npm --name "AppName" -i 0 -- run start
你怎么看?
-i 0
办?
我需要在pm2中的应用程序上运行特定的npm脚本(对于每个环境),就我而言,这是我创建登台/测试服务的时间
对我有用的命令(必须以这种方式转发args):
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"
希望能有所帮助
您需要在此处提供应用名称,例如myapp
pm2 start npm --name "appName" -- start
你可以通过检查
pm2 list
您也可以增加时间
pm2 restart "id" --log-date-format 'DD-MM HH:mm:ss.SSS'
要么 pm2 restart "id" --time
您可以通过以下方式检查日志
pm2 log "id"
要么 pm2 log "appName"
获取所有应用程序的日志
pm2 logs
开始之前不要忘记空间
pm2 start npm --[space]start
所以正确的命令是:
pm2 start npm -- start
不幸的是,似乎pm2不支持您请求的确切功能https://github.com/Unitech/PM2/issues/1317。
建议的替代方案是使用ecosystem.json
文件“ 部署入门”,其中可能包括针对生产和开发环境的设置。但是,这仍npm start
用于引导您的应用程序。
However, this is still using npm start to bootstrap your app.
您可以实际npm start
使用运行pm2
吗?
要使用npm start
method 运行PM2 并为其添加name
,请运行此命令,
pm2 start npm --name "your_app_name" -- start
要通过传递日志的日期格式来运行它,
pm2 start npm --name "your_name" --log-date-format 'DD-MM HH:mm:ss.SSS' -- start
现在,您可以在以下时间使用:
pm2 start npm -- start
跟着https://github.com/Unitech/pm2/issues/1317#issuecomment-220955319
PM2版本4.2.1
让我们采取两种情况:
1. npm start //server.js
pm2 start "npm -- start" --name myMainFile
2. npm运行main //main.js
pm2 start "npm -- run main" --name myMainFile