Node.js 平均应用程序在服务器上崩溃
我尝试在Nginx服务器上运行MEAN应用程序,但它总是在以下情况下崩溃: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 --
// 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,就好像它正在为那些可能在谷歌上找到它的人杀死另一个进程一样。