Express/HTTP 监听每个端口的 EADDRINUSE?
Express/HTTP listen EADDRINUSE for every port?
这很奇怪,我在 CentOS 7 服务器上尝试了至少 30 个端口用于 express 应用程序,但我不断收到:
Uncaught Exception: listen EADDRINUSE :::1238
[ERROR] Stack Trace: Error: listen EADDRINUSE :::1238
at Object.exports._errnoException (util.js:1026:11)
at exports._exceptionWithHostPort (util.js:1049:20)
at Server._listen2 (net.js:1253:14)
我尝试了各种不同的端口,我很确定没有任何东西在使用这些端口,但我一直收到这个错误。
这是我的快递代码:
import http from 'http';
import express from "express";
import compression from 'compression';
import SocketIO from "socket.io";
let App = express();
let HTTPServer = http.Server(App);
let Socket = new SocketIO(HTTPServer);
App.use(compression({}));
HTTPServer.listen(1238, function() {
console.log("Listening..");
});
我检查过防火墙已关闭,应该不会阻止应用程序。我在端口 8080 上还有一个运行正常的应用程序。我只是无法让这个工作。有什么想法吗?
当您在这些端口中停止程序时,您的进程可能不会停止。
尝试在您的终端中 运行 这些命令。
lsof -i:<your port number>
如果你得到 table 那么这意味着你的进程没有被终止,从那个 table 和 运行 这个命令复制那个 PID
kill -9 <PID>
这将终止该端口上的 运行ning 进程,在此之后,您可以将此端口用于您的程序。
我已经在 ubuntu 中测试了这些命令,我对 CentOS 不了解,但是两者都是 Linux 所以你可以试试这个。
这很奇怪,我在 CentOS 7 服务器上尝试了至少 30 个端口用于 express 应用程序,但我不断收到:
Uncaught Exception: listen EADDRINUSE :::1238
[ERROR] Stack Trace: Error: listen EADDRINUSE :::1238
at Object.exports._errnoException (util.js:1026:11)
at exports._exceptionWithHostPort (util.js:1049:20)
at Server._listen2 (net.js:1253:14)
我尝试了各种不同的端口,我很确定没有任何东西在使用这些端口,但我一直收到这个错误。
这是我的快递代码:
import http from 'http';
import express from "express";
import compression from 'compression';
import SocketIO from "socket.io";
let App = express();
let HTTPServer = http.Server(App);
let Socket = new SocketIO(HTTPServer);
App.use(compression({}));
HTTPServer.listen(1238, function() {
console.log("Listening..");
});
我检查过防火墙已关闭,应该不会阻止应用程序。我在端口 8080 上还有一个运行正常的应用程序。我只是无法让这个工作。有什么想法吗?
当您在这些端口中停止程序时,您的进程可能不会停止。 尝试在您的终端中 运行 这些命令。
lsof -i:<your port number>
如果你得到 table 那么这意味着你的进程没有被终止,从那个 table 和 运行 这个命令复制那个 PID
kill -9 <PID>
这将终止该端口上的 运行ning 进程,在此之后,您可以将此端口用于您的程序。
我已经在 ubuntu 中测试了这些命令,我对 CentOS 不了解,但是两者都是 Linux 所以你可以试试这个。