阿里云centos7启动tomcat要好久

问题

上个月买了阿里云的的centos服务器,花了时间安装了JDK、、Tomcat、MySQL等应用。
感觉可以把平时自己写的项目部署上去了,这样就可以随时随地的访问了,想想就美滋滋啊。
可是通往成功的道路总是在施工中,处处是坑啊。。。启动Tomcat显示启动成功:
在这里插入图片描述
可是访问不到http://ip:8080页面,其实是Tomcat还没有启动起来,为什么这么说呢?通过日志可以证明,日志位置:/***/tomcat/logs/catalina.out

//当你在日志文件中看见这行记录说明启动成功,若没有就是没有启动
INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 1064 ms

我的日志中就没有这条记录,但是也没有错误日志,说明启动过程中没有报错,7分钟后启动成功了。在决绝问题的过程中我无数次的启动Tomcat,都要很长时间,最短的一次是3分钟,最长的一次竟然达到了10分钟,差一点吐血三升。
那是什么原因导致Tomcat启动这么慢呢?

原因

看了一些文章,发现原因说的都一样

使用org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom类产生安全随机类SecureRandom的实例作为会话ID
SHA1PRNG算法是基于SHA-1算法实现且保密性较强的伪随机数生成器。
在这个实现中,产生器会评估熵池(entropy pool)中的噪声数量。随机数是从熵池中进行创建的。当读操作时,/dev/random设备会只返回熵池中噪声的随机字节。/dev/random非常适合那些需要非常高质量随机性的场景,比如一次性的支付或生成密钥的场景。
当熵池为空时,来自/dev/random的读操作将被阻塞,直到熵池收集到足够的环境噪声数据。这么做的目的是成为一个密码安全的伪随机数发生器,熵池要有尽可能大的输出。对于生成高质量的加密密钥或者是需要长期保护的场景,一定要这么做。

解决方法

试了很多种解决的方法,总结了感觉比较可行的几种方法,希望能帮到大家

第一种

在这里插入图片描述
我试了一下,安装不上
在这里插入图片描述
目前不知道为什么安装不上,如果有哪位大神知道,请不吝赐教

第二种

我是通过这种方式解决问题的
/***/java/jdk1.8.0_162/jre/lib/security/java.security

//将如下配置
securerandom.source=file:/dev/random
//改为
securerandom.source=file:/dev/urandom

第三种

这种方法没有试过,但是感觉和第二种法差不多,可能有用,若是没用用那就再找找其他方法吧

在catalina.sh中加入这么一行:-Djava.security.egd=file:/dev/./urandom 即可。加入后再启动Tomcat,整个启动耗时下降到Server startup in 2912 ms。

发布了85 篇原创文章 · 获赞 90 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/engerla/article/details/103407520