记一次 启动tomcat后, 请求可以发送, 但不能正常接收请求

运行环境

  • jdk1.8
  • tomcat8
  • nginx

问题现象

  1. nginx 正常启动, telnet nginx地址可以正常联通;
  2. tomcat正常启动, 日志正常打印, 定时器任务也正常执行;
  3. 外部访问 tomcat服务地址, 返回404; 内网访问tomcat服务地址, 依然报错
  4. 从nginx跳转, 依然报错;
  5. 访问nginx地址, 正常

错误排查

  1. nginx 访问成功, 跳转失败 --> 不是nginx问题
  2. tomcat 内网, 外网访问都失败 --> 确定tomcat问题

猜测

tomcat 启动时端口还在使用, 启动对应服务时, 端口结束占用, 服务启动成功 --> 本质上是假启动, 但 定时器业务依然可以正常执行

解决方案

在tomcat/conf/catalina.properties 文件中 添加

org.apache.catalina.startup.EXIT_ON_INIT_FAILURE=true
设置该项后, 能够检测tomcat在初始化时是否报错, 如果报错则立刻结束任务

posted @ 2023-01-12 15:36  浅唱z2  阅读(166)  评论(0编辑  收藏  举报