公司使用solr做全文,突然有一天添加ip白名單時,使用sh /usr/local/tomcat/bin/shutdown.sh命令提示tomcat成功啓動,sh /usr/local/tomcat/bin/shutdown.sh命令卻不能關閉,提示8005端口沒有啓動,打開solr的日誌vi /usr/local/tomcat/logs/catalina.2019-03-10.log,以下報錯
01-Mar-2019 17:08:18.121 SEVERE [main] org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["http-nio-8080"]
java.net.BindException: Address already in use
提示8080端口被佔用,於是找到8080端口占用進程殺掉
lsof -i:8080
kill -9 pid
重啓Tomcat還是沒有效果。最後發現8005端口沒有啓動。
解決辦法:
修改文件:$JAVA_HOME/jre/lib/security/java.security中的配置
vi $JAVA_HOME/jre/lib/security/java.security
將:securerandom.source=file:/dev/random
改爲: securerandom.source=file:/dev/urandom
其實是啓動Tomcat的時候,要產生一個隨機數,但是這個時間可能會變長,有的時候要幾分鐘,所以這個時候關閉Tomcat會提示8005端口未啓動。當然全文也是沒有啓動成功的。
詳細的原因看這邊:https://blog.csdn.net/upshi/article/details/54907464