一、问题现象
1、Linux 上启动 Tomcat 时会卡在某一个地方
tomcat 在启动的时候会卡在这里,这句话也不是报错,只是告诉我们正在部署web应用程序目录,比如这里,部署web应用程序目录/webapps/examples,但是发现它部署了好久还没部署完,这个时候就回感觉到奇怪了,为什么要这么长时间呢?
org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
application directory
[/data/apache-tomcat-8.5.34/webapps/examples]
二、问题原因及解决方案
1、问题原因
linux或者部分unix系统提供随机数设备是/dev/random 和/dev/urandom ,两个有区别,urandom安全性没有random高,但random需要时间间隔生成随机数。JDK 默认调用random。
这时候根据修改内容就可以查到因为此原因会造成tomcat卡住
2、解决方案
找到 Linux 上我们配置 JDK 的目录
编辑这个文件
/jre/lib/security/java.security
在文件中找到securerandom.source这个设置项,将其改为:
securerandom.source=file:/dev/urandom
替换securerandom.source=file:/dev/random 为 securerandom.source=file:/dev/urandom
这个方法,里面有个问题,就是设置时候实际应该设置为securerandom.source=file:/dev/./urandom,否则不生效
设置完成之后,再进行启动,你会发现 Tomcat 已经没有卡住了