node.js - 使用 pdsh 远程运行 node.js pm2

标签 node.js pm2

我有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/

相关文章:

node.js - Stripe - 无权访问帐户 '{{XX}}'(或该帐户不存在)

node.js - 插入多条记录时删除相同的数据

node.js - 如何解决Google Drive API中的 "failed to parse Content-Range Header"以执行可恢复上传

node.js - 有没有办法使用 cron 重启 pm2 进程,但前提是它尚未运行?

node.js - 在哪里可以找到所有正在运行的pm2应用程序的端口?

php - "require_once(): Failed opening required"但文件存在并且可读

node.js - 每次都必须运行 sudo npm install -g

node.js - 如何通过nodejs获取twitter账号的邮件id

javascript - 使用 PM2 运行 Typescript 应用程序

pm2 - 你如何让忽略 watch 正则表达式在 pm2 中工作