1. 程式人生 > >關於TOMCAT常見問題及解決的摘錄

關於TOMCAT常見問題及解決的摘錄

一,tomcat啟動時錯誤
1:The JAVA_HOME environment variable is not defined This environment variable is needed to run this program;
Re:沒有在在tomcat的配置檔案.bash_profile中設定環境變數JAVA_HOME,具體設定方法為:加入如下幾行:
   JAVA_HOME=/home/tomcat/j2sdk1.4.2_08(具體值要以實際的jdk安裝路徑為準)
   export JAVA_HOMECLASSPATH=/home/tomcat/j2sdk1.4.2_08/lib/tools.jar:/home/tomcat/j2sdk1.4.2_08/lib/dt.jar
   export CLASSPATH
2 Error occurred during initialization of VM Could not reserve enough space for object heap
Re:在tomcat的bin目錄下,catalina.sh檔案的tomcat記憶體引數配置過大,超過機器可用記憶體總數造成,修改到適當的值即可,修改的引數為
:JAVA_OPTS="-Xms50m -Xmx60m"
3  執行startup.sh檔案後告訴地址已經使用,導致tomcat不能啟動
Re:可能是前一次執行./shutdown.sh檔案關閉tomcat時沒有停止已經啟動的java程序,而這個程序仍然在監聽tomcat所使用的埠,或者有
另外一個tomcat正在執行,server.xml檔案中的監聽埠和當前tomcat衝突。
   使用下面命令檢視當前系統是否有正在監聽的埠(8080--webcache, 90--www或http).
 - 列出所有系統正在監聽的埠和繫結的地址netstat -l
 - 找出當前系統中的所有程序,管道符號過濾輸出顯示包含java字串的行
     ps -A |grep java        
       tty   time        proc
     1021     ?      java    
 - 結束一個指定的程序: 
     kill   [程序號]

二、cannot connect to server:無法連線到伺服器。這種情況是伺服器的配置有問題,伺服器無法承受過多的併發連線了,需要優化伺服器的配置:
如作業系統採用更高版本,如windows 2003 server,
優化tomcat配置:maxThreads="500" minSpareThreads="400" maxSpareThreads="450"
但是tomcat 最多支援500個併發訪問
優化apache配置:
ThreadsPerChild 1900

MaxRequestsPerChild  10000

三、 Action.c(10): Error -27791: Server  has shut down the connection prematurely
HTTP Status-Code=503 (Service Temporarily Unavailable)

一般都是由於伺服器配置不夠好引起的,需要優化硬體和調整程式了。

四、無法處理請求:
當我們輸入 ***.do 命令後,apache卻返回錯誤資訊,而連線tomcat卻沒有問題。原因是沒有把.do命令轉發給tomcat處理。解決方法如下:
在apache配置檔案中配置如下內容:
JkMount /*.jsp loadbalancer
JkMount /*.do loadbalancer
4. 強制殺死一個程序:
      kill -9 [程序號]
     如果確定不是別的tomcat執行導致的衝突或者沒有java程序執行可以再次執行startup.sh檔案啟動tomcat