Ubuntu Tomcat出现404错误怎么办
导读:Ubuntu 上 Tomcat 出现 404 的排查与修复 一 快速定位问题 查看服务与端口:确认 Tomcat 已启动并监听 8080。示例:sudo systemctl status tomcat9;ss -tulpen | grep...
Ubuntu 上 Tomcat 出现 404 的排查与修复
一 快速定位问题
- 查看服务与端口:确认 Tomcat 已启动并监听 8080。示例:sudo systemctl status tomcat9;ss -tulpen | grep 8080。若未监听,优先排查启动失败或端口冲突。
- 查看关键日志:到 $CATALINA_HOME/logs(apt 安装常见为 /var/log/tomcat9/)查看 catalina.out、localhost.log,用 tail -f 实时观察访问时的日志输出,定位是“应用未部署”还是“资源未找到”。
- 校验访问 URL:确保协议、主机、端口、应用上下文路径、文件名大小写完全正确(Linux 区分大小写)。
以上步骤能快速判断是“服务/网络层问题”还是“应用/配置层问题”。
二 常见原因与对应修复
- 应用未部署或目录为空:确认 webapps/ROOT/ 存在且包含 index.jsp/index.html 等默认页面;若使用 WAR 包,确认已解压且未损坏。必要时重新部署或清理后重部署。
- 使用了错误的上下文路径:访问 http://IP:8080/应用名/ 而不是根上下文;或你的应用根本未部署在 ROOT。检查 webapps 下目录名与访问路径是否一致。
- 端口被占用或配置被修改:检查 conf/server.xml 中 是否被改动;若冲突,改为未占用端口并重启。
- 文件与目录权限不足:Tomcat 运行用户对 webapps/应用目录 需有读取权限,可执行 chmod/chown 修正后重启。
- 反向代理配置错误(如 Nginx/Apache):核对 upstream、proxy_pass 端口与协议,以及 Host 头转发是否正确。
- 容器镜像的 webapps 为空:部分 Docker 镜像只提供 webapps.dist,需将内容合并到 webapps(如 rm -rf webapps & & mv webapps.dist webapps)后重启容器。
- 防火墙/安全组拦截:在 Ubuntu 上检查 ufw 状态(sudo ufw status),必要时放行 8080;云服务器还需检查安全组入站规则。
以上为 404 的高频根因与处置要点。
三 标准排查流程清单
- 核对 URL 与上下文路径(大小写、斜杠、应用名)。
- 确认应用已部署:ls $CATALINA_HOME/webapps/ROOT 或对应应用目录是否存在且非空。
- 检查端口:ss -tulpen | grep 8080;若被占用,改端口或释放占用进程。
- 查看日志:tail -f $CATALINA_HOME/logs/catalina.out 与 localhost.log,聚焦访问时间点的记录。
- 校验配置:检查 server.xml(端口、Host、Context)、应用的 web.xml(Servlet 映射、欢迎页)。
- 权限修复:对 webapps 及子目录设置 Tomcat 用户可读(必要时可执行 chmod -R a+rX 目标目录)。
- 环境变量:确认 JAVA_HOME/JRE_HOME 指向有效 JDK/JRE。
- 重新部署:清理残缺部署,重新放置 WAR 或静态资源并重启。
- 若经反向代理访问:核对代理转发规则与后端地址端口。
- 仍异常时,贴出访问 URL、server.xml 相关片段与 catalina.out/localhost.log 的对应报错行以进一步分析。
以上流程覆盖从“路径/部署/配置/权限/网络”的闭环排查。
四 Ubuntu 与 Docker 的实用命令示例
- 服务与端口
- 查看状态:sudo systemctl status tomcat9
- 监听端口:ss -tulpen | grep 8080
- 日志定位
- 实时查看:sudo tail -f /var/log/tomcat9/catalina.out
- 关键字检索:grep -i “404|error” /var/log/tomcat9/catalina.out
- 防火墙放行
- 状态:sudo ufw status
- 放行:sudo ufw allow 8080/tcp
- Docker 镜像修复 webapps 为空
- 进入容器后执行:rm -rf webapps & & mv webapps.dist webapps
- 退出并重启容器
以上命令可直接复制到终端执行,用于快速验证与修复。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Tomcat出现404错误怎么办
本文地址: https://pptw.com/jishu/751595.html
