我想知道 Tomcat 服务器何时崩溃,我知道 Web 应用程序中的内存已满或异常会导致崩溃,但其他可能的原因是什么?
我正在开发一个 Web 应用程序,我确信我的应用程序不会过度填充内存。应用程序也没有异常(在我的 catalina.out 文件中没有发现异常),我的服务器刚刚停止。
顺便说一句,我有一个“recover-tomcat.sh”shell 文件,它检查 Tomcat 的状态并在必要时重新启动它。它看起来像这样:
#!/bin/bash
SERVICE=/etc/init.d/tomcat7
STOPPED_MESSAGE=" * Tomcat servlet container is not running."
PID_FILE_MESSAGE=" * Tomcat servlet engine is not running, but pid file exists."
if [ "`$SERVICE status`" == "$STOPPED_MESSAGE" ];
then
{
print "tomcat not running"
$SERVICE start
}
else
if [ "`$SERVICE status`" == "$PID_FILE_MESSAGE" ];
then
{
$SERVICE restart
}
fi
fi
另一个相关的问题是,收到消息的原因是什么?
* Tomcat servlet engine is not running, but pid file exists.
cron 每 5 分钟调用一次恢复文件,我的 crontab 文件如下所示:
SHELL=/bin/bash
# monitor tomcat every 5 minutes
*/5 * * * * sudo /bin/recover-tomcat.sh