使用pdsh远程运行node.js pm2

我有4个服务器在pm2(pm2 start app.js)的帮助下运行node.js。 我想从另一台服务器使用pdsh重新启动pm2,但是当我运行时:

pdsh -a "/root/.nvm/v0.10.30/bin/pm2 restart 0" 

它返回:

 /root/.nvm/v0.10.30/bin/pm2: line 4: exec: : not found 

我也做了类似的波纹pipe:

 pdsh -a "sh /etc/profile && sh ~/.bash_profile && /root/.nvm/v0.10.30/bin/pm2 restart 0" 

并发生相同的错误。

谢谢

尝试直接从nodepath运行pm2。 看来, pdsh无法加载nvm

如果你从nvm安装它应该是这样的:

 ~/.nvm/v0.10.30/bin/node 

另一方面,Pm2应该位于node_modules目录中:

 ~/.nvm/v0.10.30/lib/node_modules/pm2/bin/pm2 

所以如果我们把这一切结合起来

 /root/.nvm/v0.10.30/bin/node /root/.nvm/v0.10.30/lib/node_modules/pm2/bin/pm2 restart 0