我在Ubuntu 14.04上的Tomcat 7中有一些非常奇怪的行为。
我创build了一个新的VPS,安装了default-jdk和其他简单的东西。 下载[myIP]:8080压缩的Tomcat 7.检查它在[myIP]:8080上运行,并看到Tomcat的索引页。
一旦我重新启动VPS,我再次启动了Tomcat,并且… [myIP]:8080没有响应。 甚至不是一个错误。 当我检查日志时,我看到Tomcat只是挂在第一个webapp上的部署状态。
我的日志 :
Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Server version: Apache Tomcat/7.0.57 Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Server built: Nov 3 2014 08:39:16 UTC Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Server number: 7.0.57.0 Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.VersionLoggerListener log INFO: OS Name: Linux Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.VersionLoggerListener log INFO: OS Version: 3.13.0-37-generic Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Architecture: amd64 Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.VersionLoggerListener log INFO: JAVA_HOME: /usr/lib/jvm/java-7-openjdk-amd64/jre Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.VersionLoggerListener log INFO: JVM Version: 1.7.0_65-b32 Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.VersionLoggerListener log INFO: JVM Vendor: Oracle Corporation Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.VersionLoggerListener log INFO: CATALINA_BASE: /opt/tomcat Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.VersionLoggerListener log INFO: CATALINA_HOME: /opt/tomcat Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Djava.endorsed.dirs=/opt/tomcat/endorsed Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Dcatalina.base=/opt/tomcat Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Dcatalina.home=/opt/tomcat Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Djava.io.tmpdir=/opt/tomcat/temp Dec 31, 2014 9:06:04 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib Dec 31, 2014 9:06:04 AM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8080"] Dec 31, 2014 9:06:04 AM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 2327 ms Dec 31, 2014 9:06:04 AM org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina Dec 31, 2014 9:06:04 AM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.57 Dec 31, 2014 9:06:04 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /opt/tomcat/webapps/host-manager Dec 31, 2014 9:11:09 AM org.apache.catalina.util.SessionIdGenerator createSecureRandom INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [303,104] milliseconds. Dec 31, 2014 9:11:09 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deployment of web application directory /opt/tomcat/webapps/host-manager has finished in 304,682 ms Dec 31, 2014 9:11:09 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /opt/tomcat/webapps/manager Dec 31, 2014 9:11:09 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deployment of web application directory /opt/tomcat/webapps/manager has finished in 271 ms Dec 31, 2014 9:11:09 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /opt/tomcat/webapps/docs Dec 31, 2014 9:11:09 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deployment of web application directory /opt/tomcat/webapps/docs has finished in 205 ms Dec 31, 2014 9:11:09 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /opt/tomcat/webapps/examples Dec 31, 2014 9:11:11 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deployment of web application directory /opt/tomcat/webapps/examples has finished in 1,422 ms Dec 31, 2014 9:11:11 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /opt/tomcat/webapps/ROOT Dec 31, 2014 9:11:11 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deployment of web application directory /opt/tomcat/webapps/ROOT has finished in 177 ms Dec 31, 2014 9:11:11 AM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] Dec 31, 2014 9:11:11 AM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] Dec 31, 2014 9:11:11 AM org.apache.catalina.startup.Catalina start INFO: Server startup in 306957 ms Dec 31, 2014 9:17:35 AM org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["http-bio-8080"] Dec 31, 2014 9:17:35 AM org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["ajp-bio-8009"] Dec 31, 2014 9:17:35 AM org.apache.catalina.core.StandardService stopInternal INFO: Stopping service Catalina Dec 31, 2014 9:17:36 AM org.apache.coyote.AbstractProtocol stop INFO: Stopping ProtocolHandler ["http-bio-8080"] Dec 31, 2014 9:17:36 AM org.apache.coyote.AbstractProtocol stop INFO: Stopping ProtocolHandler ["ajp-bio-8009"] Dec 31, 2014 9:17:36 AM org.apache.coyote.AbstractProtocol destroy INFO: Destroying ProtocolHandler ["http-bio-8080"] Dec 31, 2014 9:17:36 AM org.apache.coyote.AbstractProtocol destroy INFO: Destroying ProtocolHandler ["ajp-bio-8009"] Dec 31, 2014 9:20:01 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Server version: Apache Tomcat/7.0.57 Dec 31, 2014 9:20:01 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Server built: Nov 3 2014 08:39:16 UTC Dec 31, 2014 9:20:01 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Server number: 7.0.57.0 Dec 31, 2014 9:20:01 AM org.apache.catalina.startup.VersionLoggerListener log INFO: OS Name: Linux Dec 31, 2014 9:20:01 AM org.apache.catalina.startup.VersionLoggerListener log INFO: OS Version: 3.13.0-37-generic Dec 31, 2014 9:20:01 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Architecture: amd64 Dec 31, 2014 9:20:01 AM org.apache.catalina.startup.VersionLoggerListener log INFO: JAVA_HOME: /usr/lib/jvm/java-7-openjdk-amd64/jre Dec 31, 2014 9:20:01 AM org.apache.catalina.startup.VersionLoggerListener log INFO: JVM Version: 1.7.0_65-b32 Dec 31, 2014 9:20:01 AM org.apache.catalina.startup.VersionLoggerListener log INFO: JVM Vendor: Oracle Corporation Dec 31, 2014 9:20:01 AM org.apache.catalina.startup.VersionLoggerListener log INFO: CATALINA_BASE: /opt/tomcat Dec 31, 2014 9:20:01 AM org.apache.catalina.startup.VersionLoggerListener log INFO: CATALINA_HOME: /opt/tomcat Dec 31, 2014 9:20:01 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties Dec 31, 2014 9:20:01 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager Dec 31, 2014 9:20:01 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Djava.endorsed.dirs=/opt/tomcat/endorsed Dec 31, 2014 9:20:01 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Dcatalina.base=/opt/tomcat Dec 31, 2014 9:20:01 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Dcatalina.home=/opt/tomcat Dec 31, 2014 9:20:01 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Djava.io.tmpdir=/opt/tomcat/temp Dec 31, 2014 9:20:01 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib Dec 31, 2014 9:20:01 AM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8080"] Dec 31, 2014 9:20:01 AM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] Dec 31, 2014 9:20:01 AM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 1536 ms Dec 31, 2014 9:20:02 AM org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina Dec 31, 2014 9:20:02 AM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.57 Dec 31, 2014 9:20:02 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /opt/tomcat/webapps/host-manager Dec 31, 2014 9:33:38 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Server version: Apache Tomcat/7.0.57 Dec 31, 2014 9:33:38 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Server built: Nov 3 2014 08:39:16 UTC Dec 31, 2014 9:33:38 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Server number: 7.0.57.0 Dec 31, 2014 9:33:38 AM org.apache.catalina.startup.VersionLoggerListener log INFO: OS Name: Linux Dec 31, 2014 9:33:38 AM org.apache.catalina.startup.VersionLoggerListener log INFO: OS Version: 3.13.0-37-generic Dec 31, 2014 9:33:38 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Architecture: amd64 Dec 31, 2014 9:33:38 AM org.apache.catalina.startup.VersionLoggerListener log INFO: JAVA_HOME: /usr/lib/jvm/java-7-openjdk-amd64/jre Dec 31, 2014 9:33:38 AM org.apache.catalina.startup.VersionLoggerListener log INFO: JVM Version: 1.7.0_65-b32 Dec 31, 2014 9:33:38 AM org.apache.catalina.startup.VersionLoggerListener log INFO: JVM Vendor: Oracle Corporation Dec 31, 2014 9:33:38 AM org.apache.catalina.startup.VersionLoggerListener log INFO: CATALINA_BASE: /opt/tomcat Dec 31, 2014 9:33:38 AM org.apache.catalina.startup.VersionLoggerListener log INFO: CATALINA_HOME: /opt/tomcat Dec 31, 2014 9:33:38 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties Dec 31, 2014 9:33:38 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager Dec 31, 2014 9:33:38 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Djava.endorsed.dirs=/opt/tomcat/endorsed Dec 31, 2014 9:33:38 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Dcatalina.base=/opt/tomcat Dec 31, 2014 9:33:38 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Dcatalina.home=/opt/tomcat Dec 31, 2014 9:33:38 AM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Djava.io.tmpdir=/opt/tomcat/temp Dec 31, 2014 9:33:38 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib Dec 31, 2014 9:33:38 AM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8080"] Dec 31, 2014 9:33:38 AM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] Dec 31, 2014 9:33:38 AM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 2495 ms Dec 31, 2014 9:33:39 AM org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina Dec 31, 2014 9:33:39 AM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.57 Dec 31, 2014 9:33:39 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /opt/tomcat/webapps/host-manager
直到第74行,这是一个正常的服务器启动。 所有标准的webapp都被部署了(第48-68行),但是之后它就挂起了。 所以,我停止了服务器,并重新启动我的系统。 再次启动tomcat,奇迹开始了。 下一个会话在第89-136行,你可以看到在那里没有Server startup in xxxx ms条目。
它只是挂在部署,这种情况一直重复。 什么可能导致这个? 我花了好几个小时的时间来解决这个问题,而且我疯了,并且一无所获。
一个可能的问题是Tomcat等待熵build立。 用jstack带几个线程转储看看谁在等什么。
Tomcat 7 +严重依赖于SecureRandom类来为其会话id和其他事物提供随机值。 根据您的JRE,如果用于初始化SecureRandom的熵源的熵不足,则可能会在启动过程中导致延迟。
如果问题是熵,则可以通过设置以下系统属性来configurationJRE以使用非阻塞熵源:
-Djava.security.egd=file:/dev/./urandom
有关详细信息,请参阅此相关的讨论
可能对某人有所帮助:
检查你的pom.xml中没有这样的依赖关系:
<dependency> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-catalina</artifactId> <version>8.0.23</version> </dependency>