部署环境 : 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 均无法启动。
- 使用
ps -ef |grep tomcat也并未查看到tomcat的运行进程, - 使用
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 ,成功访问。