如何解决Tomcat启动卡在启动问题?

Apache Tomcat启动时卡住了

最近,我正在使用Tomcat 9并遇到了一个问题。在启动过程中,它卡在以下阶段。

22-Sep-2018 03:06:00.347 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/root/apache-tomcat-9.0.12/temp
22-Sep-2018 03:06:00.347 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 基于APR的Apache Tomcat本机库,它允许在生产环境中实现最佳性能,在java.library.path上未找到:[/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
22-Sep-2018 03:06:00.601 INFO [main] org.apache.coyote.AbstractProtocol.init 正在初始化ProtocolHandler ["http-nio-8080"]
22-Sep-2018 03:06:00.629 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector 使用共享选择器进行servlet写入/读取
22-Sep-2018 03:06:00.650 INFO [main] org.apache.coyote.AbstractProtocol.init 正在初始化ProtocolHandler ["ajp-nio-8009"]
22-Sep-2018 03:06:00.651 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector 使用共享选择器进行servlet写入/读取
22-Sep-2018 03:06:00.665 INFO [main] org.apache.catalina.startup.Catalina.load 初始化处理时间为1341毫秒
22-Sep-2018 03:06:00.738 INFO [main] org.apache.catalina.core.StandardService.startInternal 正在启动服务[Catalina]
22-Sep-2018 03:06:00.738 INFO [main] org.apache.catalina.core.StandardEngine.startInternal 启动Servlet Engine: Apache Tomcat/9.0.12
22-Sep-2018 03:06:00.766 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory 部署web应用程序目录[/root/apache-tomcat-9.0.12/webapps/ROOT]

您是否也遇到了同样的问题?

通常,这在虚拟机上发生,以下是解决方法。在修改之前备份文件,并在非生产环境中进行测试,如果可行。

  • 转到Tomcat安装文件夹,然后进入bin目录
  • 使用vi编辑器打开catalina.sh
  • 搜索JAVA_OPTS,然后添加以下内容
-Djava.security.egd=file:/dev/./urandom

例如,我在这里添加了它。

JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS -Djava.security.egd=file:/dev/./urandom"
  • 保存文件并重新启动Tomcat

查看catalina.out文件,它应该已启动。

22-Sep-2018 05:44:26.898 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory 部署web应用程序目录[/root/apache-tomcat-9.0.12/webapps/manager]已在[53]毫秒内完成
22-Sep-2018 05:44:26.909 INFO [main] org.apache.coyote.AbstractProtocol.start 启动ProtocolHandler ["http-nio-8080"]
22-Sep-2018 05:44:26.924 INFO [main] org.apache.coyote.AbstractProtocol.start 启动ProtocolHandler ["ajp-nio-8009"]
22-Sep-2018 05:44:26.931 INFO [main] org.apache.catalina.startup.Catalina.start 服务器启动时间为2085毫秒

这个简单的技巧对我有帮助,希望对您也有帮助!

如果您正在学习或对Tomcat有兴趣,那么请查看此beginner to the advanced course

类似文章