【Linux】Tomcat启动途中卡住问题解决

时间:2022-10-08 09:00:34

在Ubuntu中部署一个Tomcat作为Web容器使用,当前环境是Jdk8 + Tomcat8。在启动的时候发现启动到加载项目的时候就卡住不再往下加载了。这个现象在Windows环境没有出现,而在其他版本的Jdk中也不会出现这种情况,因此上网找了解决方案记录一下。

原因分析

linux或者部分unix系统提供随机数设备是/dev/random和/dev/urandom,两个有区别,urandom安全性没有random高,但random需要时间间隔生成随机数。在生成随机数的时候卡住了,导致tomcat启动不了。

解决办法

解决办法有两个,本人采用第二种方法解决

  1. 将$JAVA_HOME/jre/lib/security/Java.security内,securerandom.source的内容改为file:/dev/./urandom即可
  2. 在服务器启动时也可以加上参数 -Djava.security.egd=file:/dev/./urandom
    在$TOMCAT_HOME/bin/catalina.sh(本人是放在setenv.sh)中加入CATALINA_OPTS="-Djava.security.egd=file:/dev/./urandom"