gpt4 book ai didi

node.js - Express/HTTP 监听每个端口的 EADDRINUSE?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:46:24 25 4
gpt4 key购买 nike

这很奇怪,我在 CentOS 7 服务器上为 express 应用程序尝试了至少 30 个端口,但我不断得到:

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)

我尝试了各种不同的端口,我很确定没有任何东西在使用这些端口,但我一直收到此错误。

这是我的 express 代码:

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>

如果你有一个表那么这意味着你的进程没有被杀死,从那个表中复制那个 PID 并运行这个命令

kill -9 <PID>

这将终止在该端口上运行的进程,在此之后,您可以将此端口用于您的程序。

我已经在 ubuntu 中测试了这些命令,我​​不知道 CentOS,但它们都是 Linux,所以你可以试试这个。

关于node.js - Express/HTTP 监听每个端口的 EADDRINUSE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44038309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com