提问者:小点点

pm2可以运行“npm start”脚本吗


有没有方法让pm2运行npm启动脚本,或者您只需运行pm2 start app.js

因此在发展中

npm start

那么在使用pm2的生产中,您将运行类似于

pm2 start 'npm start'

forever中有一种等价的方法来完成此操作:

forever start -c "npm start" ./

共3个答案

匿名用户

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将不会在您的应用程序崩溃时重新启动它。