我有4台服务器在pm2的帮助下运行node.js(pm2启动app.js)。我想使用 pdsh 从另一台服务器上重新启动所有 4 个服务器上的 pm2,但是当我运行时:
pdsh -a "/root/.nvm/v0.10.30/bin/pm2 restart 0"
它返回:
/root/.nvm/v0.10.30/bin/pm2: line 4: exec: : not found
我也做了类似的事情:
pdsh -a "sh /etc/profile && sh ~/.bash_profile && /root/.nvm/v0.10.30/bin/pm2 restart 0"
并且发生同样的错误。
谢谢
最佳答案
尝试直接从 node
路径运行 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
关于node.js - 使用 pdsh 远程运行 node.js pm2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25111845/