首页主机资讯Ubuntu Tomcat出现404错误怎么办

Ubuntu Tomcat出现404错误怎么办

时间2025-11-19 21:28:03发布访客分类主机资讯浏览1443
导读: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 的高频根因与处置要点。

三 标准排查流程清单

  1. 核对 URL 与上下文路径(大小写、斜杠、应用名)。
  2. 确认应用已部署:ls $CATALINA_HOME/webapps/ROOT 或对应应用目录是否存在且非空。
  3. 检查端口:ss -tulpen | grep 8080;若被占用,改端口或释放占用进程。
  4. 查看日志:tail -f $CATALINA_HOME/logs/catalina.out 与 localhost.log,聚焦访问时间点的记录。
  5. 校验配置:检查 server.xml(端口、Host、Context)、应用的 web.xml(Servlet 映射、欢迎页)。
  6. 权限修复:对 webapps 及子目录设置 Tomcat 用户可读(必要时可执行 chmod -R a+rX 目标目录)。
  7. 环境变量:确认 JAVA_HOME/JRE_HOME 指向有效 JDK/JRE
  8. 重新部署:清理残缺部署,重新放置 WAR 或静态资源并重启。
  9. 若经反向代理访问:核对代理转发规则与后端地址端口。
  10. 仍异常时,贴出访问 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
怎样监控Ubuntu上的Tomcat运行状态 怎样提高Ubuntu上Tomcat的并发能力

游客 回复需填写必要信息