sudo pm2命令节点发现pm2已经isntalled

时间:2017-10-07 18:01:08

标签: node.js pm2

我已经创建了节点应用程序,我想在AWS上部署它。

我有设置项目,并希望永久保留节点,所以我在全局安装了pm2,但当我尝试使用此命令启动pm2的节点应用时

sudo pm2 start index.js

它给了我错误:

  

sudo:pm2不是命令

没有sudo我无法启动服务器。

1 个答案:

答案 0 :(得分:1)

显然是pm2,其他全局模块不在您的根路径中。您可以像这样传递PATH变量:

sudo env PATH=$PATH pm2 start index.js

这应该做你想要的。

虽然主要是我建议不要这样做,因为你可能不希望你的应用程序与root用户一起运行,而是它自己的孤立和有限的用户,所以如果漏洞,损坏将是有限的。

如果要在计算机启动时运行pm2,则可以使用pm2 startup命令指示您如何正确执行此操作。

此外,如果您以root身份运行应用程序,那么您可以在端口80上侦听,那么这是错误的方式。我建议看看这个question。有一些很好的建议,例如使用ip表将端口80流量转发到另一个端口,这不需要你的应用程序在root上运行。