当前位置: 首页 > wzjs >正文

刚做的公司网站搜不到医院网站建设招标说明

刚做的公司网站搜不到,医院网站建设招标说明,网站开发有哪些术语,网站解析设置在 Node.js 开发过程中,端口冲突 (EADDRINUSE: address already in use) 是一个常见的错误。这篇文章将基于一次真实的调试过程,深入解析该错误的成因,并提供详细的解决方案。 一、错误分析 在启动 Node.js 服务器时,遇到了以下…

在 Node.js 开发过程中,端口冲突 (EADDRINUSE: address already in use) 是一个常见的错误。这篇文章将基于一次真实的调试过程,深入解析该错误的成因,并提供详细的解决方案。

一、错误分析

在启动 Node.js 服务器时,遇到了以下错误:

Error: listen EADDRINUSE: address already in use :::8060at Server.setupListenHandle [as _listen2] (node:net:1872:16)at listenInCluster (node:net:1920:12)at Server.listen (node:net:2008:7)...

错误解读

  • EADDRINUSE:表示端口 8060 已经被占用,导致当前服务器无法正常监听该端口。
  • listen:表明问题出现在 server.listen() 方法,即 Express 服务器试图绑定端口时失败。

二、问题排查

1. 检查端口占用情况

使用 netstat 命令来查找 8060 端口的占用情况:

netstat -ano | findstr :8060 

输出如下:

TCP 0.0.0.0:8060 0.0.0.0:0 LISTENING 37584 TCP [::]:8060 [::]:0 LISTENING 37584

可以看到,进程 37584 正在监听 8060 端口。

2. 终止占用端口的进程

使用 taskkill 命令终止该进程:

taskkill /PID 37584 /F

如果终止成功,则端口 8060 释放,此时可以重新启动服务器。

然而,在这次调试过程中,执行 taskkill 时遇到了 “系统找不到指定的文件” 的问题。这通常意味着:

  • 进程已经自行退出,但端口仍然被占用。
  • 进程 ID (PID) 发生了变化,需要重新获取最新的 PID 进行终止。

3. 解决无法找到进程的问题

如果 taskkill 无法终止进程,可以尝试:

netstat -ano | findstr :8060

再次确认端口状态。如果仍然显示 LISTENING,可以使用以下方法强制释放端口:

方法 1:重启服务器

在 Windows 上可以执行:

shutdown -r -t 0

这将立即重启计算机并释放所有端口。

方法 2:使用 PowerShell 释放端口

如果不想重启,可以用 PowerShell 终止占用进程:

Stop-Process -Id 37584 -Force

或者:

Get-Process | Where-Object { $_.Id -eq 37584 } | Stop-Process -Force

三、服务器成功启动

在成功释放 8060 端口后,重新运行 npm start,服务器正常启动:

Server is up and running on port: 8060 Database initialized! query: SELECT COUNT(1) AS `cnt` FROM `tasks` `tasks` query: SELECT task_id, project_id, title, description, status FROM `tasks` ORDER BY task_id DESC LIMIT 10

日志显示服务器正在查询数据库,并返回 tasksusers 表的数据,证明应用已经恢复正常。

四、如何预防端口占用问题?

为了避免 EADDRINUSE 错误,可以采取以下措施:

1. 启动前检查端口是否被占用

可以在 app.ts 中添加以下代码:

import net from 'net'; const PORT = 8060; const server = net.createServer(); server.once('error', (err: any) => { if (err.code === 'EADDRINUSE') { console.error(`Port ${PORT} is already in use. Please choose a different port.`); process.exit(1); } }); server.once('listening', () => server.close()); server.listen(PORT);

这样,在服务器启动时会检测端口是否被占用,避免直接崩溃。

2. 自动寻找可用端口

可以使用 portfinder 自动查找可用端口:

import express from 'express'; import portfinder from 'portfinder'; const app = express(); portfinder.getPortPromise() .then((port) => { app.listen(port, () => { console.log(`Server running on port ${port}`); }); }) .catch((err) => console.error(err));

3. 使用 process.env.PORT

.env 文件中定义端口:

PORT=8060

然后在 app.ts 里使用:

const PORT = process.env.PORT || 3000; app.listen(PORT, () => console.log(`Server running on port ${PORT}`));

这样可以灵活调整端口,避免冲突。


五、总结

在本次调试过程中,我们遇到了 EADDRINUSE 端口占用错误,经过以下步骤成功解决:

  1. 使用 netstat 确定占用端口的进程。
  2. 使用 taskkill 终止进程,或通过 PowerShell 释放端口。
  3. 若仍然占用,可以重启计算机或动态分配端口。
  4. 在代码中增加端口检测逻辑,避免应用崩溃。

希望这篇文章能帮助你解决类似的端口冲突问题!🚀


文章转载自:

http://9mJlc3qk.bfybb.cn
http://bMIzQEZ3.bfybb.cn
http://9Zw7fixA.bfybb.cn
http://yYmamdwU.bfybb.cn
http://pZNGDKFP.bfybb.cn
http://bPfi55k7.bfybb.cn
http://CO8zOm8n.bfybb.cn
http://mpJp27f0.bfybb.cn
http://TE9YZpdI.bfybb.cn
http://LVjH9nGU.bfybb.cn
http://Ma66PL9j.bfybb.cn
http://X3AWN0cA.bfybb.cn
http://do25Mnb0.bfybb.cn
http://RkSTbzwc.bfybb.cn
http://8PnlUIZJ.bfybb.cn
http://dols2MfM.bfybb.cn
http://mDnoUq7a.bfybb.cn
http://PqPS54Dw.bfybb.cn
http://nztTl4b7.bfybb.cn
http://6dYa7eE6.bfybb.cn
http://CaujFMUg.bfybb.cn
http://X0Wsei63.bfybb.cn
http://lEhYJ0Cu.bfybb.cn
http://MoF16vBY.bfybb.cn
http://BfP0Bafg.bfybb.cn
http://Yp7w0e20.bfybb.cn
http://uWrYMu1w.bfybb.cn
http://NNmEuASh.bfybb.cn
http://kVMsgmXn.bfybb.cn
http://yCsyZ7Ft.bfybb.cn
http://www.dtcms.com/wzjs/732418.html

相关文章:

  • 怎么上网站云南网页设计与制作
  • 做哪个软件网站app北京平台网站建设方案
  • 设计师图片素材网站wordpress 歌
  • 河北沙河市建设局网站富阳区建设局网站首页
  • 合肥网站建设新闻营销株洲网页设计
  • 网站建设捌金手指专业8营销方案模板ppt
  • 《水利建设与管理》杂志社网站东莞厚街招聘信息最新
  • 网站建设公司网茶叶公司网站的建设
  • 做半成品网站七台河新闻联播回放
  • ps做 网站标准尺寸是多少怎么用自己主机做网站、
  • 建设一个网站首先需要什么做茶评的网站
  • 宝安网站建设公司分类信息网站开发教程
  • 天津网站建设技术外包wordpress 入口文件
  • 怎么做外语网站同城购物网站建设
  • 招远专业做网站公司太原网站建设外包须知传媒
  • 代理公司帮忙注册公司需要多少钱厦门seo新站策划
  • 专业海外网站推广创建网站论坛
  • 深圳集团网站开发公司表情制作器
  • 互动网门户网站建设手机wordpress的文章分类
  • dw手机网站怎么做网站接入服务提供商
  • 大连百事通国际旅行社河北seo基础知识
  • 什么网站 是cms系统下载网站流量图怎么做
  • 个人免费建站系统国外服务器购买平台
  • 关于单位网站建设的seo的工作流程
  • 广州seo推广运营专员南宁7天优化网络科技公司
  • 设计学校网站模板免费下载谷歌云wordpress
  • 公司网站的宣传栏怎么做2016年建设网站赚钱吗
  • 网站配置域名解析网站运营建设的目标
  • 网站维护与更新网站系统制作教程视频教程
  • 论坛网站推广方案网站建设sem