Destroying ProtocolHandler ["ajp-apr-8009"] Tomcat 无法启动

1,136 阅读2分钟

部署环境 : Linux version 3.10.0-957.1.3.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) )

场景: 部署的项目需要用到两个Tomcat ,我是将两个Tomcat安装在了同一系统中,其中Tomcat1 为服务应用部署环境(T1是为T2构建服务需要用到的环境和JAR包),Tomcat2为 业务系统部署环境。

配置

1、安装两个Tomcat

2、配置两个Tomcat的环境变量

在 /etc/profile 中

# TOMCAT environment variable
export CATALINA_BASE=/developer/apache-tomcat-7.0.90
export CATALINA_HOME=/developer/apache-tomcat-7.0.90
export TOMCAT_HOME=/developer/apache-tomcat-7.0.90

export CATALINA_2_BASE=/developer/apache-tomcat-8.0.53
export CATALINA_2_HOME=/developer/apache-tomcat-8.0.53
export TOMCAT_2_HOME=/developer/apache-tomcat-8.0.53

3、在apache-tomcat-8.0.53 的/bin 目录下的catalina.sh 中的找到

# OS specific support. $var _must_ be set to either true or false.这一行,在其后新增

export CATALINA_BASE=CATALINA_2_BASE
export CATALINA_HOME= CATALINA_2_HOME
export TOMCAT_HOME=TOMCAT_2_HOME

4、修改server.xml中的三处端口,保证 Tomcat中的端口不冲突

====================== B U G 分 割 线 ========================

BUG现象

我再将以上配置都配置完成之后,发现两个Tomcat 均无法启动。

  1. 使用ps -ef |grep tomcat 也并未查看到tomcat的运行进程,
  2. 使用tail -f catalina.out 查看每次的启动操作,tomcat都会不正常自行stoping,如下
Dec 08, 2018 10:45:02 PM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-9080"]
Dec 08, 2018 10:45:04 PM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-9009"]
Dec 08, 2018 10:45:06 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-9080"]
Dec 08, 2018 10:45:06 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-9009"]

开始我考虑的是自己在配置文件上的配置问题,尝试修改配置和在tomcat中指定JDK路径 都没有解决。

通过在网上查相关的资料 ,查到可能与 系统中 hosts文件 未指定本地回环地址有关 。

解决方法

vim /etc/hosts 查看本机映射IP信息 ,果不其然,系统并未指定本地回环地址 。 在其中新增 127.0.0.1 localhost 启动Tomcat ,成功访问。