Node.JS 事件错误

Node.JS event error

我刚刚将服务器迁移到 Amazon EC2。

Node.JS 之前工作正常,但自从搬家后,它给了我一个事件错误,我不太确定发生了什么。

i 运行命令netstat -nlp查看端口号是否打开

端口号已打开(8080 和 8181)。

它在行 89:7 上给出了以下错误:

https.listen(port, function(){
    console.log('HTTPS Server listening at port: ' + port);
});

EADDRINUSE 表示 "error - address in use"。您需要停止已经侦听该地址的服务(阅读:IP 和端口组合)。您可以使用 lsof:

发现该服务的 pid 和名称
sudo lsof -Pan -i tcp | grep -E '(8080|8181)' 

即在我的本地机器上:

$ sudo lsof -Pan -i tcp | grep -E '(51235)'
java      12413   andy  669u  IPv4 1088377      0t0  TCP *:51235 (LISTEN)

pid(进程 ID)是第二个数字 - 在本例中为 12413。这可以用来终止进程。

使用kill 12413终止该进程。另一个 lsof 显示该端口上没有任何监听,因为它已被杀死:

$ sudo lsof -Pan -i tcp | grep -E '(51235)'
<nothing here>
$

可能是您已经获得了另一项服务 运行(HTTP 代理倾向于在 8080 上侦听),或者可能是同一应用的其他版本。如果那里有代理 运行,您可能必须决定是使用不同的端口还是移动当前服务。