node本地启动服务报错 Error: listen EADDRINUSE :::8888

本文介绍了在使用Node.js创建HTTP服务器时遇到端口被占用的问题及解决方法。通过更改监听端口,可以轻松解决该问题,使得服务器能够正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚学习node小伙伴应该也遇到过相似的问题吧,其实问题很简单这个问题表示的就是listen监听的端口被占用,换成其他端口即可,即非(8888);
var http = require('http');  
  
http.createServer(function (request, response) {  
  
    // 发送 HTTP 头部   
    // HTTP 状态值: 200 : OK  
    // 内容类型: text/plain  
    response.writeHead(200, {'Content-Type': 'text/plain'});  
  
    // 发送响应数据 "Hello World"  
    response.end('Hello World\n');  
}).listen(8888);  
  
// 终端打印如下信息  
console.log('Server running at http://127.0.0.1:8888/');  

### 解决 Node.js 服务启动时出现 `listen EADDRINUSE` 错误 当遇到 `Error: listen EADDRINUSE: address already in use :::3001` 这样的错误提示时,意味着端口 3001 已经被其他进程占用。以下是几种常见的解决方案: #### 方法一:查找并终止占用端口的进程 可以使用命令行工具来找出哪个进程正在使用该端口,并将其终止。 对于 Linux 或 macOS 用户: ```bash lsof -i :3001 kill -9 $(lsof -t -i :3001) ``` 对于 Windows 用户: ```cmd netstat -ano | findstr :3001 taskkill /PID <pid> /F ``` 其中 `<pid>` 是通过前一条命令查到的具体 PID 值[^1]。 #### 方法二:更改应用程序监听的端口号 如果不想强制结束可能还在正常工作的程序,则可以在代码里修改应用所使用的默认端口为未被占用的一个新数值。比如将原本配置文件中的 `port=3001` 改成另一个不冲突的数字如 `8080` 等[^2]。 #### 方法三:等待一段时间再尝试重启服务 有时可能是由于之前的服务实例没有完全退出造成的短暂现象,稍作延迟后再试一次也许就能成功启动了[^4]。 #### 方法四:确保开发环境正确关闭所有相关联的应用和服务 在 IDE 中工作时要记得及时停止调试模式下的节点进程;另外也要注意是否有多个终端窗口开启了相同项目的测试脚本等情况存在。 ```javascript const http = require('http'); // 修改此处端口号以避免冲突 const PORT = process.env.PORT || 8080; const server = http.createServer((req, res) => { res.end(`Server running on port ${PORT}`); }); server.listen(PORT, () => console.log(`Listening on *:${PORT}`)); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值