Linux系统中Tomcat故障排查步骤如下:
- 查看日志
- 定位日志文件:
$TOMCAT_HOME/logs/目录下的catalina.out、localhost.log等。 - 实时查看日志:
tail -f catalina.out,搜索ERROR、Exception等关键字。
- 定位日志文件:
- 检查环境变量
- 确认
JAVA_HOME、CATALINA_HOME路径正确,使用java -version检查Java版本是否符合Tomcat要求。
- 确认
- 验证配置文件
- 检查
server.xml、context.xml等配置文件语法,重点关注端口、路径等参数。
- 检查
- 排查端口占用
- 使用
netstat -tuln | grep 端口号或lsof -i:端口号查看端口占用情况,终止冲突进程。
- 使用
- 检查系统资源
- 使用
top、free -m、df -h监控CPU、内存、磁盘空间,确保资源充足。
- 使用
- 处理权限问题
- 确保Tomcat对
logs、work、temp等目录有读写权限。
- 确保Tomcat对
- 分析内存问题
- 若出现
OutOfMemoryError,通过jstack生成线程转储,用jvisualvm或MAT分析内存泄漏。 - 调整JVM参数(如
-Xms、-Xmx)或优化应用程序代码。
- 若出现
- 验证服务状态
- 使用
systemctl status tomcat或service tomcat status检查服务是否正常运行。
- 使用
- 其他高级排查
- 检查SELinux是否限制Tomcat运行(临时关闭
setenforce 0测试)。 - 若部署应用异常,检查应用依赖库及
web.xml配置。
- 检查SELinux是否限制Tomcat运行(临时关闭
参考来源:[1,2,3,4,5,6,7,8,9,11]