为什么PM2可以在一台服务器上运行而不能在另一台服务器上运行?

时间:2019-01-10 20:32:02

标签: node.js pm2 process-management

我们有两个Node-Express应用程序实例:一个用于开发,一个用于生产。我们是implementing PM2 process manager。这适用于Windows Server 2012环境。

出于某些令人困惑的原因,在我们的开发环境中进行设置时,PM2(带有pm2-windows-service)可以正常工作,但甚至无法在Prod环境中运行节点。可能是什么原因?

  • 日志文件显示没有帮助
  • 如果您查看at my related question,可以看到PM2 似乎正在启动,但没有启动(或立即崩溃)。
  • 我们所能得出的结论是,这两个服务器之间的设置存在一些差异。有什么线索可能会导致PM2这样的设置失败吗?

这与more specific question有关,关于我们正在实现PM2的问题。

谢谢!

2 个答案:

答案 0 :(得分:0)

可能不是真正的pm2问题,更多的是npm。在无法使用pm2的服务器上,请在PowerShell中尝试该命令:

Get-Command pm2

它返回正确的版本(不是0.0.0)吗?如果不是,则说明该软件包的安装存在问题,因此可以选择手动安装。我们还在上个月的票证中问了一个熟悉的问题:

https://github.com/Unitech/pm2/issues/3964

就像上面的票证中所述,您可以尝试检查其他带有常见问题的npm软件包:

npm install mocha -g

然后尝试到达mocha-cli

答案 1 :(得分:0)

好的,在将问题发布到pm2 github问题页面后,我得到了答案。

在这里共享它,以防其他任何人遇到这种情况:

https://github.com/Unitech/pm2/issues/4113

(基本上pm2 3.2.5引入了一个导致Windows中此问题的错误。我的质量检查安装为3.2.4。此问题已恢复为3.2.4。简单的过程,请参见上面的链接中的说明。)