如何解决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。