在Jelastic上自动重启Tomcat

时间:2015-07-02 09:46:57

标签: tomcat tomcat7 jelastic

我在Dogado Jelastic云中有一个Tomcat 7实例(Jelastic平台版本是2.5.2)。我还有一个Bamboo,它在这个Tomcat 7实例上每晚部署两个应用程序。由于应用程序中的一些问题,我有内存泄漏,这会在一段时间后破坏应用程序。所以我想定期重启服务器以解决这个问题(我知道这不是很好的修复,但现在已经足够了)。我找到了一些自动重启Tomcat 7的方法:

  1. 使用Jelastic REST API - 它需要执行两个请求:身份验证和操作。
  2. 使用cron任务(由jelastic管理面板提供) - 似乎Jelastic没有看到新启动的Tomcat实例。
  3. 所以我有两个问题:

    1. 有没有办法简化这两种方法(例如,一次调用API请求,或使用cron任务重启Tomcat的正确方法)?
    2. 还有其他方法可以自动重启Tomcat吗?
    3. 谢谢!

2 个答案:

答案 0 :(得分:2)

只需通过仪表板配置面板将此命令添加到cron / tomcat

0 * * * * /opt/tomcat/bin/shutdown.sh; /opt/tomcat/bin/startup.sh

它适用于tomcat7。

答案 1 :(得分:0)

对于cron选项,您需要从root用户执行此操作(这就是为什么当您通过仪表板从jelastic用户执行此操作时,它无法按预期方式工作)。

但是,Dogado应该可以为您配置此cron而不会出现任何问题。在这种情况下,我建议将此作为最简单的解决方案。

API重启选项的难点在于您可能需要从其他位置执行该操作(例如,不是通过环境中的cron调用的脚本)。除非你已经有一个合适的系统(例如另一个环境,或其他地方的服务器),否则这可能不是一个可行的方法。

我个人也不喜欢API需要您的Jelastic用户名/密码,因此授予您对所有环境的完全访问权限 - 即使您只希望它只拥有一个。您可以通过创建协作者,与他们共享环境以及将该用户视为“API用户”来解决此限制。