【问题标题】:tomcat hangs when deploying war file and restarting server部署war文件并重新启动服务器时tomcat挂起
【发布时间】:2014-02-11 14:41:41
【问题描述】:

当我构建一个 .war 文件并将其部署到 tomcat 时,当我重新启动服务器时 tomcat 将挂起。我无法通过 SSH 登录并检查正在发生的进程。这里的管理员不得不强制重启tomcat来解决问题,之后一切正常。这是第二次发生这种情况。有人可以指出我解决此问题的正确方向吗?我检查了所有的 tomcats 日志,但找不到任何有用的东西。

【问题讨论】:

  • “重启服务器”是指机器还是重启tomcat进程?在将新的战争文件放入 webapps 目录之前,您是否停止了 tomcat?或者你是如何部署它的? (通过 tomcat web-ui 或通过 webapps 文件夹自动部署)
  • 管理员不得不硬重启服务器,因为她无法获得工作终端。为了回答您的其他问题,我将使用 FTP 部署 tomcat 文件,然后使用 putty 关闭/重新启动服务器
  • 不,当我将文件移动到 webapps 目录时,我没有关闭 tomcat,只是在我将它移动到那里之后。应用程序将使用 webapps 自动部署
  • 我们总是这样做的方式是首先停止 tomcat(通过 ssh 或者您的基础设施看起来像)然后切换出 .war 文件(如果在您的 tomcat 中启用了扩展目录,则删除扩展目录 - 如果他为 ROOT.war 创建一个 ROOT 文件夹),然后重新启动 tomcat。原因是你很容易遇到内存泄漏(当某些类无法卸载时等)
  • 把它作为一个答案,如果它在下次部署时有效,我会标记它是正确的

标签: tomcat grails


【解决方案1】:

我们通常执行 grails 部署的方式是:

  • 停止 tomcat(并等到它真正停止)
  • 删除旧的 .war 文件(可能还有扩展目录:如果 tomcat 将 ROOT.war 扩展为 ./ROOT
  • 可选:删除/移动旧日志文件
  • 将新的 .war 文件复制到 webapps 文件夹中
  • 启动tomcat

原因是如果你之前不停止tomcat,你很容易遇到内存泄漏,例如当某些类无法卸载等时。

【讨论】:

  • 这也是我们的流程。
猜你喜欢
  • 2015-05-21
  • 2012-10-29
  • 2018-07-25
  • 1970-01-01
  • 2012-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多