明明没有程序占用端口,但是启动程序却提示端口无法使用,项目也启动失败

news/2024/9/19 17:43:35/ 标签: 数据库, 服务器, .net

明明没有程序占用端口,但是启动程序却提示端口无法使用,项目也启动失败

win10、端口占用、port、netstat、used

背景

曾在springboot中遇到过,新建spring cloud时又遇到这个问题,如果不从根本上解决,就需要改端口,太过麻烦,为免再浪费时间所以这个问题必须要解决了。

问题描述

正常启动项目,在某次项目异常关闭后,重新启动项目,失败,提示端口占用。

使用NETSTAT.EXE -ano|findstr.exe "8080" (8080是需要使用而被占用的端口)查看,并无程序占用。重复启动数次,仍然启动失败。

原因分析

搜索到这篇文章
,得知是系统“TCP动态端口起始端口”配置问题,修改动态端口范围即可解决。

解决方案及结果展示

  1. 以管理员身份运行CMD
  2. 使用netsh int ipv4 show dynamicport tcp查看动态端口范围 (bash运行)
$ netsh int ipv4 show dynamicport tcp协议 tcp 动态端口范围
---------------------------------
启动端口        : 1024
端口数          : 13977$ netsh int ipv4 show dynamicport udp协议 udp 动态端口范围
---------------------------------
启动端口        : 1024
端口数          : 13977
  1. 关闭Hyper-V (powershell管理员,下同)

执行命令:dism.exe /Online /Disable-Feature:Microsoft-Hyper-V

或在控制面板“程序与功能”中关闭。(这步完成后不要关机)

PS C:\Windows\system32> Dism.exe /Online /Disable-Feature:Microsoft-Hyper-V部署映像服务和管理工具
版本: 10.0.18362.1映像版本: 10.0.18363.418禁用一个或多个功能
[==========================100.0%==========================]
操作成功完成。
  1. 修改动态端口范围(注意下面不是同样的命令执行了两遍,而是tcp一遍,udp一遍)
PS C:\Windows\system32> netsh int ipv4 set dynamicport udp start=51535 num=13977
确定。PS C:\Windows\system32> netsh int ipv4 set dynamicport tcp start=51535 num=13977
确定。

说明一下这里为什么端口起点使用51535,因为端口最大是65535(两字节长度),默认端口数是13977约14000,所以将最大允许端口减去端口数,得到了51535。

  1. 检查结果 (bash)
$ netsh int ipv4 show dynamicport udp协议 udp 动态端口范围
---------------------------------
启动端口        : 51535
端口数          : 13977O@LDJJlx MINGW64 ~
$ netsh int ipv4 show dynamicport tcp协议 tcp 动态端口范围
---------------------------------
启动端口        : 51535
端口数          : 13977
  1. 开启Hyper-V,并重启 (powershell)
PS C:\Windows\system32> Dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All部署映像服务和管理工具
版本: 10.0.18362.1映像版本: 10.0.18363.418启用一个或多个功能
[==========================100.0%==========================]
操作成功完成。
重新启动 Windows 以完成该操作。
是否立即重新启动计算机? (Y/N) Y

声明:本文使用八爪鱼rpa工具从gitee自动搬运本人原创(或摘录,会备注出处)博客,如版式错乱请评论私信,如情况紧急或久未回复请致邮 xkm.0jiejie0@qq.com 并备注原委;引用本人笔记的链接正常情况下均可访问,如打不开请查看该链接末尾的笔记标题(右击链接文本,点击 复制链接地址,在文本编辑工具粘贴查看,也可在搜索框粘贴后直接编辑然后搜索),在本人博客手动搜索该标题即可;如遇任何问题,或有更佳方案,欢迎与我沟通!


http://www.ppmy.cn/news/1527196.html

相关文章

uniapp点击跳转到对应位置

其实就是标签选择器 获取到对应标签所在的高度&#xff0c;然后用uni.pageScrollTo跳转&#xff0c;这是在正常页面上的跳转&#xff0c;scroll-view中更方便 <template><view class"product-page"><scroll-view scroll-y"true" class&quo…

c语言--力扣简单题目(回文链表)讲解

题目如下&#xff1a; 给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为 回文链表。 如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,2,1] 输出&#xff1a;true 示例 2&#xff1…

力扣刷题--3033. 修改矩阵【简单】

题目描述 给你一个下标从 0 开始、大小为 m x n 的整数矩阵 matrix &#xff0c;新建一个下标从 0 开始、名为 answer 的矩阵。使 answer 与 matrix 相等&#xff0c;接着将其中每个值为 -1 的元素替换为所在列的 最大 元素。 返回矩阵 answer 。 算法分析 利用max_element…

基于鸿蒙API10的RTSP播放器(四:沉浸式播放窗口)

前言&#xff1a; 典型应用全屏窗口UI元素包括状态栏、应用界面和底部导航条&#xff0c;其中状态栏和导航条&#xff0c;通常在沉浸式布局下称为避让区&#xff1b;避让区之外的区域称为安全区。 开发应用沉浸式效果主要指通过调整状态栏、应用界面和导航条的显示效果来减少状…

Maven入门学习

maven是一款管理和构建java项目的工具。 1.概述 1.1安装 安装步骤: 1.1.1官网下载apache-maven-3.6.1-bin.zip&#xff0c;解压 apache-maven-3.6.1-bin.zip 。 1.1.2配置本地仓库:修改conf/settings.xml中的<localRepository>为一个指定目录。 <localRepository&g…

华雁智科前端面试题

1. var 变量的提升 题目&#xff1a; var a 1 function fun() {console.log(b)var b 2 } fun() console.log(a) 正确输出结果&#xff1a;undefined、1答错了&#xff0c;给一个大嘴巴子&#xff0c;错误答案输出结果为&#xff1a;2,1 此题主要考察 var 定义的变量&…

基于 PyQt5 和 OpenCV 进行图像处理操作的GUI工具初版

为了实现一个基于 PyQt5 和 OpenCV 的图形用户界面&#xff08;GUI&#xff09;&#xff0c;要求如下&#xff1a; 左边显示加载的图片。 中间提供各种对图片进行处理的操作方法&#xff08;如灰度化、模糊处理等&#xff09;。 右边显示处理后的效果图。 接下来我将详细讲解如…

Ajax 揭秘:异步 Web 交互的艺术

Ajax 揭秘&#xff1a;异步 Web 交互的艺术 一 . Ajax 的概述1.1 什么是 Ajax ?1.2 同步和异步的区别1.3 Ajax 的应用场景1.3.1 注册表单的用户名异步校验1.3.2 内容自动补全 二 . Ajax 的交互模型和传统交互模型的区别三 . Ajax 异步请求 axios3.1 axios 介绍3.1.1 使用步骤3…

三相可控整流电路 (三相半波,三相桥式)

目录 1. 三相半波整流电路 2. 三相桥式全控整流电路 三相可控整流电路利用三相交流电源&#xff0c;通过可控硅&#xff08;晶闸管&#xff09;将交流电整流为直流电。主要有两种常见类型&#xff1a;三相半波整流电路和三相桥式全控整流电路。 1. 三相半波整流电路 三相半波…

vue2-ssr从vue-cli搭建项目改造服务端渲染+打包上线部署

1.通过 vue-cli 创建 vue 项目 vue create 项目名称 2.进入项目安装vue服务端渲染插件vue-server-renderer npm install vue-server-renderer -S vue-server-renderer和vue必须匹配版本 vue-server-renderer依赖一些Node.js原生提供的api&#xff0c;因此需要配合Node.js使…

乔拓云模板助力,微信小程序快速上线无需愁备案

想要快速打造并上线自己的微信小程序吗&#xff1f;乔拓云平台是您的不二之选&#xff01;无需担心复杂的备案流程&#xff0c;乔拓云提供免费服务&#xff0c;远程协助您轻松完成微信小程序的备案工作。 只需简单几步&#xff0c;您的小程序就能闪亮登场&#xff1a;首先&…

Apache-wed服务器环境的安装

一。安装httpd并且开启httpd yum install httpd systemctl start httpd 二。关闭防火墙 systemctl stop firewall 三。常规配置wed服务 mkdir /www vim index.html&#xff08;里面写入自己的内容&#xff09; chmod 755 index.htm chmod 755 /www vim /etc/httpd/co…

[网络][CISCO]CISCO IOS升级

CISCO IOS升级-&#xff08;转&#xff09;2008-06-27 15:35IOS 升级 在介绍CISCO路由器IOS升级方法前&#xff0c;有必要对Cisco路由器的存储器的相关知识作以简单介绍。路由器与计算机相似&#xff0c;它也有内存和操作系统。在Cisco路由器中&#xff0c;其操作系统叫做互连…

机器学习的入门指南

机器学习的入门指南 机器学习&#xff08;Machine Learning, ML&#xff09;是人工智能&#xff08;AI&#xff09;领域中的一项核心技术&#xff0c;致力于通过数据和算法使计算机具备从经验中学习的能力。在当今的科技世界&#xff0c;机器学习被广泛应用于图像识别、语音识…

【C++】一次rustdesk-server编译记录

RustDesk Server 是一个开源的远程桌面解决方案&#xff0c;允许用户自托管自己的远程桌面服务器。该项目是免费且开源的&#xff0c;支持多种平台和环境。RustDesk Server 提供了 ID/Rendezvous 服务器和 Relay 服务器&#xff0c;以及一些 CLI 工具&#xff0c;方便用户进行远…

python-桌面软件自动化(一)(实战微信发消息)

什么是pywinauto pywinauto是一组用于自动化Microsoft Windows GUI的python模块。 最简单的是&#xff0c;它允许您将鼠标和键盘操作发送到窗口对话框和控件。 pywinauto安装和启动 1.安装pywinauto 在 Pycharm 底部的终端&#xff08;Terminal&#xff09;窗口中输入 pip …

026.(娱乐)魔改浏览器-任务栏图标右上角加提示徽章

一、目标&#xff1a; windows中&#xff0c;打开chromium&#xff0c;任务栏中会出现一个chromium的图标。我们的目标是给这个图标的右上角&#xff0c;加上"有1条新消息"的小提示图标&#xff0c;也叫徽章(badge)注意&#xff1a;本章节纯属娱乐&#xff0c;有需要…

车载软件架构 --- SOA设计与应用(上)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

k8s的搭建

一、安装环境 准备三台主机&#xff1a; 192.168.1.66 k8s-master 192.168.1.77 k8s-node01 192.168.1.88 k8s-node02 网段&#xff1a; Pod ⽹段 172.16.0.0/16 Service ⽹段 10.96.0.0/16 注&#xff1a;宿主机⽹段、Pod…

基于python+django+vue的农产品销售管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于pythondjangovueMySQL的农…