一般在Linux上部署项目我所知道的有很多方法:有最简单的手动打个war包上传服务器,然后重启tomcat运行的。还有maven借助插件远程发布项目的。还有很多持续集成的工具jenkins等等。
但是有的时候重启tomcat会被卡住,他会一直卡在 (通过./catalina.sh run方法可以查看输出到标准输出流的日志)
INFO: Deploying web application directory /home/tutor/apache-tomcat-7.0.73/webapps/manager .....
大概是这个地方
排除项目自身的原因,移除发布的项目war包.单纯启动一个空的tomcat就会卡很久有的十分钟(我试过)
经过查询找到如下解决方法:
解决方法如下:
将$JAVA_HOME/jre/lib/security/Java.security内,将securerandom.source的内容改为file:/dev/./urandom即可
Linux或者部分unix系统提供随机数设备是/dev/random 和/dev/urandom ,两个有区别,urandom安全性没有random高,但random需要时间间隔生成随机数。
可能在生成随机数的时候卡住了,导致tomcat启动不了
在服务器启动时也可以加上参数 -Djava.security.egd=file:/dev/./urandom
通过修改现在tomcat 能够快速开启,也能快速的发布项目了。