首页 > 编程知识 正文

tomcat卡在毫秒后服务器启动,tomcat服务安装失败

时间:2023-05-04 02:11:45 阅读:59990 作者:260

问题现象启动tomcat,查看日志,在webapps/ROOT启动时卡在Apr 09上, 20214336027336012 pm org.Apache.coyote.abstractprotocolinitinfo : initializingprotocolhandler [ ' ajp-bio-8009 ' ] 20214336027336012 pm org.Apache.catalina.startup.catalinaloadinfo : initialization processedin 766 msapr 09, 20214336027336012 pm org.Apache.catalina.core.standardservicestartinternalinfo : startingservicecatalinapr 09, 20214336027336012 pm org.Apache.catalina.core.standardenginestartinternalinfo : startingservletengine 3360 apachetomche catalina.startup.hostconfigdeploydirectoryinfo : deployingwebapplicationdirectory/(hostconfigdeploydirectory (: ddiry ) webapps/ROOT解决方案:在JVM环境中打开文件$ Java _ path/JRE/lib/security/Java.security,然后找到以下内容

安全random.source=file :/dev/random是

secure random.source=file :/dev//urandom说一下这个random和urandom的区别。 tomcat在启动时实例化安全随机对象。 实例化对象是org.Apache.catalina.util.sessionidgeneratorbase.createsecurerandom类生成安全随机类securerandom的实例Tomcat使用SHA1PRNG算法是基于SHA-1算法实现的高机密性伪随机数生成器。 SHA1PRNG提供了种子生成器,根据配置执行各种操作。

Linux随机数可以从两个特殊文件生成:/dev/urandom和/dev/random。 他们生成随机数的原理是使用当前系统的熵池来计算一定数量的随机位,并将这些位作为字节流返回。 熵池是当前系统的环境噪声,熵是指一个系统的混乱程度,系统噪声可以通过许多参数来评估,如内存使用量、文件使用量、不同类型的进程数等。 如果当前环境噪声变化不是很剧烈,或者如果当前环境噪声较小(例如刚接通电源时),则当前需要大量随机位,此时产生的随机数随机效果不太好。

因此,有一个不同的文件:/dev/urandom和/dev/random。 后者在无法生成新随机数时阻止程序,但前者不阻止ublock。 当然,生成的随机数效果不太好,不太适合解密这样的APP应用。 /dev/random阻止当前程序直到基于熵池生成新的随机字节,因此,/dev/random比使用/dev/urandom生成大量随机数要慢

安全随机生成序列使用/dev/random生成种子。 但是,/dev/random是块数字生成器,如果没有提供足够的随机数据,它将一直等待,等待JVM。 键盘和鼠标的输入以及磁盘的移动会产生所需的随机性或熵。 但是,如果一台服务器缺乏这种活动,就可能会出现问题。

目前,tomcat7和tomcat8使用此方法实例化安全随机对象。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。