首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sudo pm2命令节点发现pm2已经被

sudo pm2命令节点发现pm2已经被
EN

Stack Overflow用户
提问于 2017-10-07 18:01:08
回答 1查看 4.2K关注 0票数 1

我已经创建了节点应用程序,并希望将其部署到AWS上。

我已经安装了项目,并希望使节点永久化,因此我已经在全球范围内安装了pm2,但是当我尝试使用pm2启动节点应用程序时,请使用以下命令

代码语言:javascript
复制
sudo pm2 start index.js

这给我带来了错误:

sudo:pm2不是命令

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-07 18:10:33

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

代码语言:javascript
复制
sudo env PATH=$PATH pm2 start index.js

这应该能做你想做的。

虽然我主要建议不要这样做,因为您可能不希望您的应用程序与根用户一起运行,而是它自己的孤立和有限的用户,因此在漏洞的情况下,损害将是有限的。

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

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46623396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档