Tomcat

Tomcat 啟動時間長

  • September 27, 2016

我們目前正在兩個不同的伺服器上部署我們的內部程序。這兩個伺服器都內置在 Cisco Openstack 中。作業系統 Centos 7。

問題是,每次重新部署應用程序時,我們都需要重新啟動 tomcat;關閉 tomcat 的行為符合預期。當我們啟動 tomcat 時,伺服器 10 多分鐘沒有響應。

這是我的過程:

  1. 使用 $TomcatHome/bin/shutdown.sh 關閉 tomcat
  2. 部署兩個war文件
  3. 使用 $TomcatHome/bin/startup.sh 啟動 tomcat

如果我導航到與網頁關聯的 URL,載入欄會旋轉大約 10 分鐘或更長時間,直到頁面突然出現。

我還嘗試在應用程序的首頁上使用 wget。我得到一個等待響應錯誤,如下所示:

[vagrant@host-10-105-5-51 Gen]$ !w wget 10.105.5.47:8080/am --2016-09-10 11:34:51-- http://10.105.5.47:8080/am Connecting to 10.105.5.47:8080... connected. HTTP request sent, awaiting response...

除了Google搜尋之外,我不確定如何解決這個問題。

我應該為這個問題添加更多細節:

  • 我在本地 vm 上執行 app/tomcat,它會在呼叫啟動腳本後幾秒鍾啟動。
  • 查看日誌目錄中的 catalina out 文件。似乎存在涉及片語“地址已在使用中”的錯誤

我發現這個問題與 SecureRandom 有關。這是我的openstack機器:

ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Running renew job for nxueo client in background 27-Sep-2016 09:25:08.992 INFO [localhost-startStop-1] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [632,566] milliseconds.

這是我在流浪機器上的錯誤:

26-Sep-2016 12:31:49.714 INFO [localhost-startStop-1] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [26,213] milliseconds.

通過執行以下命令可以解決此問題:

sudo echo "securerandom.source=file:/dev/urandom" >> $JAVA_HOME"/jre/lib/security/java.security";

引用自:https://serverfault.com/questions/802318