在腾讯云上配了个一元的学生云,开始一切正常,直到配置tomcat开始出现各种莫名其妙的问题。最莫名其妙的是tomcat启动了,端口也 正常监听,安全组也放行端口了,然后问题来了。
用浏览器访问tomcat主页,会发现超级慢,浏览器一直在等待服务器的响应,从这里可以看出能够接入8080端口,但是服务器没有返回数据。(这个问题折腾几天)
后来在网上找了无数资料,终于发现一篇文章说明了原因[附]。tomcat8.0在腾讯云ubuntu14.04上有bug。
多次启动关闭,产生随机数的时候引起线程阻塞,,然后卡死。
解决办法:
tomcat bin/ catalina.sh 中加入
JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom"
然后问题解决,访问速度正常了。
附:腾讯云 ubuntu 上tomcat加载项目很慢
问题原因
随机数引起线程阻塞。
tomcat不断启动,关闭,启动关闭。几次后会出现卡死状况。需很久才能加载完成。
阿里云同样配置,同样系统,则很难出现卡死状况。即使出现过几十秒后也会释放出来。而腾讯云 ubuntu 不会,腾讯云的 centos不知道。
解决办法
tomcat bin/ catalina.sh 中加入 JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom"
指定java 采用linux 的urandom 随机数方式。