You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows10系统Tomcat8.5改端口后仍报JVM_Bind端口占用错误咨询

问题根因定位

从你提供的错误日志可以明确,抛出端口绑定异常的是Tomcat默认的8005 Shutdown监听端口,不是你修改的HTTP服务端口,这是绝大多数用户调整Tomcat端口时会遗漏的点。Tomcat 8.5默认需要占用3个独立端口:

  • HTTP服务端口(默认8080,你已修改为8088/8087等自定义端口)
  • Shutdown控制端口(默认8005,日志明确显示该端口绑定失败)
  • AJP连接器端口(默认8009,未禁用的话也需要单独占用端口)
排查解决步骤
  • 第一步:完整修改server.xml所有端口配置
    打开conf目录下的server.xml文件,同步修改三处端口配置:
    1. HTTP端口修改(你已经完成的部分):
      <Connector port="自定义HTTP端口" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
      
    2. Shutdown端口修改(核心遗漏配置):
      <Server port="自定义未占用端口" shutdown="SHUTDOWN">
      
    3. (可选)如果不需要AJP协议,直接注释对应配置,避免额外占用端口:
      <!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->
      
  • 第二步:排查办公设备权限和安全策略限制
    公司配发的办公电脑通常会部署终端安全管理软件,部分安全策略会限制Java程序绑定未备案的端口,可按以下方式验证:
    1. 右键点击命令提示符,选择以管理员身份运行,再执行startup.bat启动Tomcat,排除权限不足导致的伪占用报错
    2. 临时退出终端安全代理、VPN代理、网络防护类软件后重试,确认是否是安全策略拦截了端口绑定操作
  • 第三步:修复IPv6绑定误判问题
    从你的netstat输出可以看到系统优先使用IPv6地址,可在Tomcat启动参数中指定优先绑定IPv4地址,避免IPv6端口占用误判:
    1. 打开bin目录下的catalina.bat文件,在文件开头新增一行配置:
      set JAVA_OPTS=%JAVA_OPTS% -Djava.net.preferIPv4Stack=true
      
    2. 保存后重新启动Tomcat即可

如果以上步骤执行完成仍有报错,可以用netstat -ano命令分别查询你配置的三个端口的占用情况,找到对应PID后在任务管理器中结束关联进程即可。

内容的提问来源于stack exchange,提问作者AntonBoarf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 13:06:05