pm2是否可以运行npm start脚本,还是只需要运行 pm2 start app.js
所以在发展中
npm start
然后在pm2的生产环境中运行类似
pm2 start 'npm start'
有一种等效的方法可以永远做到这一点
forever start -c "npm start" ./
pm2是否可以运行npm start脚本,还是只需要运行 pm2 start app.js
所以在发展中
npm start
然后在pm2的生产环境中运行类似
pm2 start 'npm start'
有一种等效的方法可以永远做到这一点
forever start -c "npm start" ./
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
我需要在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"
希望能有所帮助
开始之前不要忘记空间
pm2 start npm --[space]start
所以正确的命令是:
pm2 start npm -- start
pm2 start npm --name "custom_pm2_name" -- run prod
"scripts": {
"prod": "nodemon --exec babel-node ./src/index.js"
}
其他人没有的时候这对我有用
不幸的是,似乎pm2不支持您请求的确切功能https://github.com/Unitech/PM2/issues/1317。
建议的替代方案是使用ecosystem.json
文件“ 部署入门”,其中可能包括生产和开发环境的设置。但是,这仍npm start
用于引导您的应用程序。
pm2 start ./bin/www
可以跑步
如果您想部署多个服务器,则可以这样做。代替pm2 start npm-开始
请参阅启用集群:
pm2 start npm --name "AppName" -i 0 -- run start
你怎么看?
PM2现在支持npm start:
pm2 start npm -- start
是的,我们可以,现在pm2支持npm start,--name到种类应用程序名称。
pm2 start npm --name "app" -- start
是。使用pm2 start npm --no-automation --name {app name} -- run {script name}
。有用。该--no-automation
标志存在是因为没有它,PM2崩溃时将不会重新启动您的应用程序。
使用 npm run
pm2 start npm --name "{app_name}" -- run {script_name}
使用诸如.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"
}
]
}
这里有更多细节。
我在下面编写了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
现在,您可以在以下时间使用:
跟着https://github.com/Unitech/pm2/issues/1317#issuecomment-220955319