我有许多使用Grails框架 (版本2.3.7)开发的不同的web服务。每个web服务做不同的事情,一些简单,一些更复杂。有些只有几个依赖项(插件等),另一些则有很多。
对于生产,我将每个服务/应用程序部署在Tomcat 7上,每个服务/应用程序部署在不同的VM上。为此,我首先建立了一场战争:
> grails war然后,我将Tomcat上的WAR部署为根应用程序(/var/lib/tomcat7/webapps/ROOT.war)。这个很好用。
但是,当(重新)启动Tomcat时,部署应用程序通常需要2-7分钟,有时甚至更长。我没有注意到应用程序的复杂性与部署时间之间存在着真正的相关性。
为什么会有这么长的部署时间?为了加快Tomcat 7上的Grails应用程序部署,我应该考虑什么呢?
或者这正是我所期望的,我应该学会接受它吗?
发布于 2015-05-22 10:16:51
事实证明,这个问题与“熵源”有关,正如猫维基中关于如何加快启动Tomcat的文档。因此,解决方案是将以下JDK选项添加到Tomcat配置文件中:/etc/default/Tomcat 7:
-Djava.security.egd=file:/dev/./urandom现在Tomcat可以在20-30秒内可靠地启动。
https://stackoverflow.com/questions/29045002
复制相似问题