文章目录

  • 1 摘要
  • 2 问题排查&解决
  • 2.1 磁盘空间不足
  • 2.2 Tomcat 端口被占用


1 摘要

部署在 Linux 服务器上边的 Tomcat服务通常在项目更新的时候需要重新启动,但是会由于各种原因,导致 Tomcat 启动失败,本文将以Linux 发行版 centOS 7 系统为例介绍两种 Tomcat 启动失败时的问题排查思路

2 问题排查&解决

通常情况下 Tomcat 启动失败会有两种原因

  • 磁盘空间不足
  • Tomcat 端口被占用

针对以上两种情况逐个进行排查

2.1 磁盘空间不足

查看服务器整体磁盘使用情况

df -h

linux服务器reboot无反应_centOS 7


其中红色标记为Linux 系统的 / 目录,即根目录

如果服务器没有其他大文件存储的话,磁盘占用过高可能是由于日志文件太多导致的

Tomcat 日志文件位置: 在 Tomcat 根目录下的 logs 目录下

查看 Tomcat 日志文件所占空间大小(先进入Tomcat目录)

du ./logs/ -h

linux服务器reboot无反应_启动失败_02


如果是因为日志文件过大导致磁盘空间不足,从而引起Tomcat启动失败,则可以适当删除部分日志文件,然后再重新启动 Tomcat

2.2 Tomcat 端口被占用

安装端口查看命令lsof (已经安装则跳过该步)

sudo yum install -y lsof

关于 lsof 命令,可参考: lsof - Unix, Linux Command

查看 Tomcat 的端口占用情况

lsof -i:8080

其中 8080 为 Tomcat 的开放端口

linux服务器reboot无反应_linux服务器reboot无反应_03


截图中 1554 为端口占用的进程 id(pid)

通过进程 id 查看进程详情
这里有两种方式

  • 第一种
    执行命令
ps -aux | grep 1554

其中 1554 为进程 id(pid)

linux服务器reboot无反应_启动失败_04

  • 第二种
    执行命令
ls -l /proc/1554

其中 1554 为进程 id(pid)

linux服务器reboot无反应_centOS 7_05


如果是因为端口被占用导致的 Tomcat 启动失败,则关闭对应的程序/进程 即可

关闭进程

kill -9 1554

其中 1554 为进程 id (pid)
进程杀死之后,重启 Tomcat 即可

以上就是 Linux 服务器 Tomcat 启动失败的问题排查过程