一、tomcat啟動(dòng)時(shí)錯(cuò)誤
問(wèn)題1:The JAVA_HOME environment variable is not defined This environment variable is needed to run this program;
解決:沒(méi)有在tomcat的配置文件.bash_profile中設(shè)置環(huán)境變量JAVA_HOME,具體設(shè)置方法為:加入如下幾行:
JAVA_HOME=/home/tomcat/j2sdk1.4.2_08(具體值要以實(shí)際的jdk安裝路徑為準(zhǔn)) export JAVA_HOMECLASSPATH=/home/tomcat/j2sdk1.4.2_08/lib/tools.jar:/home/tomcat/j2sdk1.4.2_08/lib/dt.jar export CLASSPATH
問(wèn)題2:Error occurred during initialization of VM Could not reserve enough space for object heap
解決:在tomcat的bin目錄下,catalina.sh文件的tomcat內(nèi)存參數(shù)配置過(guò)大,超過(guò)機(jī)器可用內(nèi)存總數(shù)造成,修改到適當(dāng)?shù)闹导纯?,修改的參?shù)為:JAVA_OPTS="-Xms50m -Xmx60m"
問(wèn)題3:tomcat啟動(dòng)時(shí)報(bào)某個(gè)目錄沒(méi)有權(quán)限,啟動(dòng)失敗,或者不能執(zhí)行某些jsp頁(yè)
解決:tomcat需要tomcat用戶(hù)具有一些目錄和文件的相應(yīng)權(quán)限, 所有目錄應(yīng)該具有讀寫(xiě)執(zhí)行(瀏覽)的權(quán)限,jsp,class文件應(yīng)該最少具有讀權(quán)限, 一些文件需要寫(xiě)權(quán)限,下面是已知的需要讀寫(xiě)權(quán)限文件的列表:
$CATALINA_HOME/logs下所有文件
$CATALINA_HOME/work下所有文件
$CATALINA_HOME/publish/main/count.txt文件
$CATALINA_HOME/publish/chatroom/resource下的所有.xml文件
所有上傳圖片目錄都需要寫(xiě)權(quán)限。
改變文件目錄權(quán)限的方法:執(zhí)行下面命令,設(shè)置所有的tomcat安裝下的文件和目錄,可以保證執(zhí)行,但是不是很安全。
1. 設(shè)置tomcat上級(jí)目錄/opt所有用戶(hù)都有讀寫(xiě)執(zhí)行權(quán)限:
chmod 777 [tomcat的上級(jí)目錄](méi)
2. 設(shè)置tomcat5.0.28目錄下的所有文件的屬主為tomcat:
chown -R tomcat [tomcat安裝目錄](méi)
3. 設(shè)置所有tomcat5.0.28下的所有文件和目錄的屬主(tomcat)具有讀寫(xiě)執(zhí)行權(quán)限
chmod 700 -R /opt/tomcat5.0.28
問(wèn)題4:執(zhí)行startup.sh文件后告訴地址已經(jīng)使用,導(dǎo)致tomcat不能啟動(dòng)
解決:可能是前一次執(zhí)行./shutdown.sh文件關(guān)閉tomcat時(shí)沒(méi)有停止已經(jīng)啟動(dòng)的Java進(jìn)程,而這個(gè)進(jìn)程仍然在監(jiān)聽(tīng)tomcat所使用的端口,或者有另外一個(gè)tomcat正在運(yùn)行,server.xml文件中的監(jiān)聽(tīng)端口和當(dāng)前tomcat沖突。
使用下面命令查看當(dāng)前系統(tǒng)是否有正在監(jiān)聽(tīng)的端口(8080--webcache, 90--www或http).
1. 列出所有系統(tǒng)正在監(jiān)聽(tīng)的端口和綁定的地址netstat -l
2. 找出當(dāng)前系統(tǒng)中的所有進(jìn)程,管道符號(hào)過(guò)濾輸出顯示包含java字符串的行
ps -A |grep java tty time proc 1021 ? java
3. 結(jié)束一個(gè)指定的進(jìn)程:
kill [進(jìn)程號(hào)]
4. 強(qiáng)制殺死一個(gè)進(jìn)程:
kill -9 [進(jìn)程號(hào)]
如果確定不是別的tomcat運(yùn)行導(dǎo)致的沖突或者沒(méi)有java進(jìn)程運(yùn)行可以再次運(yùn)行startup.sh文件啟動(dòng)tomcat
二、Tomcat 運(yùn)行時(shí)錯(cuò)誤及解決
問(wèn)題1: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Network error IOException: Connection refused: connect)
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注