Node.js 平均应用程序在服务器上崩溃

Node.js 平均应用程序在服务器上崩溃,node.js,ubuntu,express,nginx,mean-stack,Node.js,Ubuntu,Express,Nginx,Mean Stack,我尝试在Nginx服务器上运行MEAN应用程序,但它总是在以下情况下崩溃: // port is 8080 app.listen(port, (data) => { console.log('Listening on port ' + port + ' in ' + process.env.NODE_ENV + ' mode'); }); 我的防火墙状态为 Status: active To Action From --

我尝试在Nginx服务器上运行MEAN应用程序,但它总是在以下情况下崩溃:

// port is 8080
app.listen(port, (data) => {
  console.log('Listening on port ' + port + ' in ' + process.env.NODE_ENV + ' mode');
});
我的防火墙状态为

Status: active
To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere  
Nginx Full                 ALLOW       Anywhere   
8080                       ALLOW       Anywhere  
OpenSSH (v6)               ALLOW       Anywhere (v6) 
Nginx Full (v6)            ALLOW       Anywhere (v6)             
8080 (v6)                  ALLOW       Anywhere (v6)  
错误

listen EADDRINUSE :::8080
我曾经安装过服务器


似乎8080已经在使用,但我如何才能找到它的用途并修复它?

要尝试获取监听端口输入的进程,请执行以下操作:

sudo netstat -tulpn | grep :8080
这将有望为您提供使用该端口的信息

要通过PID终止进程,只需使用

sudo kill pid


另一种方法是只使用
sudo fuser-k 8080/tcp
直接终止tcp上端口8080上的进程。

因为您提到了,所以您遵循了本教程

这表示您运行了PM2,即使在您杀死节点时,它也会重新启动节点。所以你需要停止PM2

sudo pkill PM2

然后,您将能够正常启动节点程序

@skille updated您可以尝试使用
netstat
来确定该端口上有什么,或者尝试连接到端口8080(例如,使用
curl
)查看是否有任何响应。可能是您的应用程序已在运行,您正在尝试启动另一个实例,或者其他东西已在该端口上侦听。这是一个端口绑定issue@TarunLalwani是的,它似乎已经在运行了,我如何终止这个过程呢?
ps aux|grep node
,获取id并使用
kill-9
或使用
pkill node
,我发现它是PID。如何终止它?好的,刚刚更改了端口,现在可以工作了,谢谢:)包括一种通过PID立即终止进程的方法。看起来我被@TarunLalwani打败了。虽然我很累,但每次我杀死它时,它都会用另一个PIDThere再次运行,在fuser的方法上添加一个PIDThere,就好像它正在为那些可能在谷歌上找到它的人杀死另一个进程一样。