多个 Tomcat 实例,开始一个杀死另一个

Multiple Tomcat instances, starting one kills the other

我有 2 个不同的 java 应用程序在两个 Tomcat 实例中运行(Ubuntu 操作系统,Tomcat 7.0.57)。对于我的 Tomcat 配置,我遵循此 video 提供的说明,但据我所知,这是一种非常标准的方法。

单独运行每个应用程序工作正常,但是当我尝试同时运行两个应用程序时,第一个启动的应用程序变得不可用(HTTP 503 错误)。 Tomcat 实例日志不提供有关任何类型的关闭的任何信息,保留最后一个 "INFO: Server startup in xxx ms"。似乎第一个 tomcat 进程被简单地杀死了。如果我重新启动第一个应用程序,则相同的情况适用于第二个应用程序。

我能找到的所有故障排除信息都是关于端口问题的。我仔细检查了我的端口号,它们是不同的:

app-1:conf/server.xml:

<Server port="8105" shutdown="SHUTDOWN">
  <Connector port="8180" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8143" />
  <Connector port="8109" protocol="AJP/1.3" redirectPort="8143" />
  ...
</Server>

app-2:conf/server.xml:

<Server port="8205" shutdown="SHUTDOWN">
  <Connector port="8280" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8243" />
  <Connector port="8209" protocol="AJP/1.3" redirectPort="8243" />
  ...
</Server>

app1.sh

export CATALINA_HOME=/home/tomcat/apache-tomcat-7
export CATALINA_BASE=/home/tomcat/app-1
cd $CATALINA_HOME/bin
./startup.sh

app2.sh

export CATALINA_HOME=/home/tomcat/apache-tomcat-7
export CATALINA_BASE=/home/tomcat/app-2
cd $CATALINA_HOME/bin
./startup.sh

知道会发生什么,或者我怎样才能得到任何日志来挖掘这个?

我的服务器托管在 EC2 t1.micro 实例上,内存为 600MB。 我最终决定将其更新为具有更多内存的实例并且问题消失了。