Tomcat端口被占用
Tomcat启动
在启动Tomcat是出现了端口1099被占用的问题,重启以及重新配置Tomcat都无法解决问题。
报错信息:localhost:1099 is already used
解决方案
方案一:查找占用1099端口的进程并结束
运行cmd,分别输入以下代码,重启Tomcat。
1 | # 查找所有端口为1099的进程 |
方案二:关闭Java.exe进程
1、打开任务管理器(ctrl+shift+esc),选择进程
2、找到所有的Java.exe进程,然后关闭
3、找到JDK安装目录,进入bin目录下,双击java.exe文件运行
4、重新启动idea
方案三:关闭Hyper-v
可能我们电脑开启了Hyper-V服务,系统默认会分配给一些保留端口供Hyper-V使用,可能与Tomcat冲突。
首先我们可以查看一下我们系统默认的端口占用范围:
1 | # 查看系统默认的端口占用范围 |
1 | 协议 tcp 动态端口范围 |
可以看到Windows系统默认的tcp动态端口范围为:1024~13977
当开启Hyper-V后,系统默认会分配给一些保留端口供Hyper-V使用
IDEA运行Tomcat需要JMX的1099端口刚好在端口排除范围中,这样就导致了IDEA需要使用1099端口是会被占用
解决方案:控制面板->程序->程序和功能->Windows功能,去掉Hyper-V前边的勾选框
此电脑右键->管理->服务和应用程序->服务
将Hyper相关服务全部停止并设置为手动类型。然后重启电脑即可
方案四:cmd命令修改端口范围
前提是Windows系统默认的tcp动态端口范围为:1024~13977,关闭Hyper-V后也不能用
1 | # 使用命令修改配置,重启Tomcat |
方案五:重建Tomcat
将Tomcat删除,重新建立运行。
方案六:重置winsock目录
Netsh winsock reset是一个命令提示程序,用于将winsock目录重置为默认设置或清除状态。如有时候上不了网或者网络出现问题经常用到它,简单地理解就是:重置程序通过操作系统链接网络的入口点。
以管理员身份运行cmd,然后重启计算机
1 | netsh winsock reset |
方案七:查看host
在SwtichHosts中查看是否少了 127.0.0.1 localhost这行,如果少了就再单独配置一行,启动项目。