阿里雲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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章