服务器崩溃时MEAN App崩溃

时间:2017-10-24 19:26:39

标签: 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
--                         ------      ----
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

我已使用this tutorial来设置服务器。

似乎8080已经在使用,但我怎样才能找到它的用途并进行修复?

2 个答案:

答案 0 :(得分:0)

由于您提到您遵循了教程

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-16-04

这表示您运行了PM2,即使您将其删除也会重新启动节点。所以你需要停止PM2

sudo pkill PM2

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

答案 1 :(得分:-1)

要尝试获取正在侦听端口的进程,请输入:

sudo netstat -tulpn | grep :8080

希望能够为您提供正在使用该端口的内容。

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

sudo kill pid

来自https://www.cyberciti.biz/faq/what-process-has-open-linux-port/

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