[英]apache2 / nodejs / express on a digital ocean server - how to listen to public port (80) without address in use error
[英]NodeJS on Ubuntu 20.04 - Cannot start server because address in use (:::80) but I can't find any port listening to that address
运行以下命令时:
sudo node server/server.js
我收到以下错误:
Listening on port 80 events.js:174
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE: address already in use :::80
at Server.setupListenHandle [as _listen2] (net.js:1280:14)
at listenInCluster (net.js:1328:12)
at Server.listen (net.js:1415:7)
at Function.listen (/home/app/node_modules/express/lib/application.js:618:24
但是,在查看类似问题时,建议我找到使用端口的进程并结束它。
在 root 和普通用户上运行以下命令时:
lsof -n -i:80
也
网络统计-tulpn | grep:80
我得到 0 个结果,没有 output 返回。
杀死节点守护程序(使用 pkill 节点)然后重新启动它也不起作用。
更改端口奇怪地给出了相同的错误:
Error: listen EADDRINUSE: address already in use :::8080
为什么我仍然收到此错误?
编辑服务器代码:
// optional: allow environment to specify port
const port = process.env.PORT || 80;
// wire up the module
const express = require("express");
var http = require("http");
var request = require("request");
// create server instance
const app = express();
// bind the request to an absolute path or relative to the CWD
app.use(express.static(path.join(__dirname, "../dist")));
app.use(express.json());
app.listen(port, () => {
console.log(`This app is listening at http://localhost:${port}`);
});
...
您好,您可以上传 server.js 内容吗? 您必须在其他端口上运行 http 服务器或尝试停止 nginx 或 Apache2 服务(如果您安装了它们)
简单地杀死进程:: sudo kill $(sudo lsof -t -i:8080)
将 8080 替换为您的地址,然后重新运行您的应用程序。 如果您想知道所有正在使用的端口或地址,只需从 ubuntu snap store 安装 nmap 并使用终端使用命令扫描所有端口
nmap localhost
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.