2017-10-07 95 views
0

我已经创建了节点应用程序,我想将其部署到AWS上。找到了sudo pm2命令节点pm2已经被删除了

我有安装项目,并希望使节点的永久所以我已经安装了pm2全球范围内,但是当我试图启动节点应用与PM2用这个命令

sudo pm2 start index.js 

它给我的错误:

sudo:pm2 is not a command

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

+0

您究竟如何安装pm2?从错误信息看来,pm2缺失,sudo存在。 –

+0

我已经使用sudo安装npm install pm2 -g – kalpeshR

回答

1

显然pm2和其他全局模块不在你的根路径。你可以通过这样的PATH变量:

sudo env PATH=$PATH pm2 start index.js 

这应该做你想做的。

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

如果您想在机器启动时运行pm2,那么您可以使用pm2 startup命令,该命令将指导您如何正确执行此操作。

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

+0

仍然出现同样的错误sudo:pm2:找不到命令 – kalpeshR

+0

pm2是否没有使用sudo? –

+0

是的,它在没有sudo的情况下工作 – kalpeshR