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

Spring Boot应用启动失败:Linux环境8080端口被占用

解决Linux下Spring Boot应用因8080端口占用无法启动的问题

问题分析

错误栈最终指向java.net.BindException: Address already in use,说明8080端口被其他进程占用,且重启应用/主机后仍未释放,大概率是进程未正常终止或有后台进程持续占用该端口。

解决步骤

1. 定位占用8080端口的进程

执行以下命令之一,获取占用端口的进程ID(PID):

  • 使用lsof命令:

    lsof -i :8080
    

    输出中PID列即为目标进程ID,COMMAND列显示进程名称。

  • 使用netstat命令(部分系统需先安装net-tools包):

    netstat -tulpn | grep :8080
    

    输出中最后一列的PID/进程名即为占用端口的进程信息。

2. 终止占用端口的进程

根据获取到的PID,执行终止命令:

  • 常规终止:
    kill <PID>
    
  • 若进程无法正常终止,强制杀死:
    kill -9 <PID>
    

3. 验证端口释放状态

再次执行步骤1中的命令,若无输出则说明8080端口已释放,此时可重新启动Spring Boot应用。

特殊情况处理

如果上述操作后端口仍被占用:

  • 检查是否为僵尸进程:执行ps aux | grep <PID>,若进程状态为Z,需排查系统层面资源回收问题。
  • 排查系统服务:执行systemctl list-units | grep -i 8080,确认是否有系统级服务绑定8080端口,若有需调整该服务端口(但用户说明其他服务正常,此情况概率较低)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 01:44:55