我在讓 tomcat 7 在我的新 VPS 上啟動時遇到問題。我真的很摸不著頭腦,因為我常常這樣做。所以我想這可能是VPS。
我剛剛從 CINFU 獲得了一個新的 VPS。全新安裝 Ubuntu 12.04 32 位元後,我安裝 openjdk-6-jdk,更新 JAVA_HOME 以指向:
/usr/lib/jvm/java-1.6.0-openjdk-i386
和 JRE_HOME 到:
/usr/lib/jvm/java-1.6.0-openjdk-i386/jre
但是當我嘗試運行時:
./catalina.sh run
它只是輸出:
Using CATALINA_BASE: /opt/tomcat/apache-tomcat-7.0.29
Using CATALINA_HOME: /opt/tomcat/apache-tomcat-7.0.29
Using CATALINA_TMPDIR: /opt/tomcat/apache-tomcat-7.0.29/temp
Using JRE_HOME: /usr/lib/jvm/java-1.6.0-openjdk-i386
Using CLASSPATH: /opt/tomcat/apache-tomcat-7.0.29/bin/bootstrap.jar:/opt/tomcat/apache-tomcat-7.0.29/bin/tomcat-juli.jar
並停止。它只是掛在那裡什麼都不做。如果我跑
./startup.sh && tail -f ../logs/catalina.out
它得到:
Aug 24, 2012 8:38:36 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Aug 24, 2012 8:38:36 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Aug 24, 2012 8:38:36 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 495 ms
Aug 24, 2012 8:38:36 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Aug 24, 2012 8:38:36 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.29
但我無法存取任何內容。請求只是掛起。
我還嘗試了其他一些事情,例如在 catalina.sh 中明確導出路徑等,然後運行
./startup.sh
而不是catalina.sh,但我得到的最遠的是它完成了所有WAR的部署(tomcat附帶的預設WAR,如主機管理器等),但隨後它掛起:
Aug 24, 2012 8:47:30 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
並且什麼都不做。
有人有任何可能有幫助的指示嗎?正如我所說,我真的錯過了一些愚蠢的東西,因為這在我們擁有的所有其他 VPS 上都有效。
更新
我發現問題實際上是他們使用 OpnVZ 虛擬化並且存在與 Java 的已知相容性問題。
答案1
我發現問題實際上是他們使用 OpenVZ 虛擬化並且存在與 Java 的已知相容性問題。