停止执行后应用程序不以pm2开头

时间:2017-10-24 16:39:38

标签: node.js debian pm2

我有一个应用程序设置,以侦听端口66.

首先,我尝试使用 sudo node myapp.js 运行它。我能够以正确的URL(ip:66)访问它。然后我停止了应用程序(Ctrl + c)并使用pm2, sudo pm2 start app.js 启动它。状态为在线。但是,现在无法访问相同的网址。

在使用pm2启动应用程序的同时运行sudopm2日志的一个一个,给出了端口66的错误EACCESS。没有其他人正在运行该应用程序,我确信我只使用一个控制台并在启动之前终止节点服务PM2。

Pm2全球安装。服务器是Debian伸展。 Nodejs版本是8.x

我以普通用户身份登录并使用sudo运行该应用程序。

1 个答案:

答案 0 :(得分:1)

在Linux系统上

普通用户不允许收听低于1024的端口。有几种方法可以解决这个问题。

您可以更改此规则以允许非root用户打开此类端口。但这是一个安全问题,不建议这样做。所以我不会添加这个解决方案的链接。

您还可以侦听大于1024的端口,然后在防火墙中使用转​​发规则将端口66路由到您打开的端口。 https://www.systutorials.com/816/port-forwarding-using-iptables/

my(和pm2)首选解决方案是侦听大于1024的端口,并使用像nginx这样的反向代理来路由在该服务器上运行的应用程序。 http://pm2.keymetrics.io/docs/tutorials/pm2-nginx-production-setup