tomcat启动起来很慢,甚至是卡死在某一步骤的解决方案

 我来答
青柠姑娘17
2022-06-16 · TA获得超过1.2万个赞
知道大有可为答主
回答量:6463
采纳率:100%
帮助的人:36.3万
展开全部

我们在服务器上启动tomcat的时候,偶尔会碰到tomcat启动起来特别慢,甚至是卡死在某一步的情况,下面记录了我一次在CentOS上启动tomcat,使用 ./bin/startup.sh 命令启动后,通过命令 tail -f logs/catalina.out 查看tomcat日志

由上面日志可以看出,tomcat没有启动成功,但是也没有任何报错信息,但是过去了十几二十分钟之后,依然没有启动成功,始终卡死在 org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory 这一句。通过在网上搜索了半天终于解决了这个问题,在这里对这个问题做一下记录,免得以后碰到又再去搜索
这个问题的起因是tomcat启动的时候,需要通过Linux生成随机数的方式/dev/random生成随机数,但是如果生成随机数失败的话,就会一直阻塞中,这也就是tomcat启动为什么一直卡死某一行日志的原因,经过测试,可以通过配置/dev/urandom来取代/dev/random来解决,我们可以在两个地方进行配置,都可以解决这个问题,取其一即可

编辑$JAVA_HOME/jre/lib/security/Java.security文件,将 securerandom.source=file:/dev/random 换成 securerandom.source=file:/dev/urandom 即可

tomcat的catalina.sh文件位于tomcat目录下的bin目录下,通过在catalina.sh文件添加 -Djava.security.egd=file:/dev/urandom ,如下所示

配置完之后,再次启动tomcat,可以发现tomcat很快就启动成功了

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式