回覆列表
  • 1 # 網趣科技

    tomcat是常用的一個伺服器,一般在初學web的時候都會搭建tomcat伺服器,而在使用tomcat的過程中有時也會出現一些問題,比如常見的tomcat閃退問題,那麼下面就來介紹如何解決tomcat閃退問題。

    原因: JDK未安裝或配置錯誤

    1. tomcat的執行需要JRE,一般啟動閃退都是因為找不到JRE,也就是說環境安裝JDK時環境變數沒有配置好。

    我們首先開啟”命令提示符“視窗,輸入java命令,城市jDK是否安裝,如果顯示一大堆有關java的提示就已經安裝好了。

    2. 再測試JDK環境變數否已經配置好,在“命令提示符視窗”,輸入javac,如果顯示“"javac"不是內部或外部命令,也不是可執行的程式”則環境變數未設定好。如下圖就是環境變數沒配置好,這是導致tomcat啟動閃退的主要原因。

    解決方法:

    方法一:配置JDK環境變數

    3. 然後編輯變數Path,設定變數值為設定變數值%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin。

    4. 新建變數CLASSPATH,設定變數值為.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar。

    方法二:設定bin\startup.bat

    在bin\startup.bat檔案中的第一行前面加入:

    SET JAVA_HOME=(JDK目錄)

    SET CATALINA_HOME=(解壓後Tomcat的目錄)

  • 2 # 特別行動科

    一、調整啟動方式

    透過雙擊"startup.bat"檔案啟動雖然比較簡單,但是當閃退的時候也會比較頭疼。黑框一閃即逝,幾乎沒有和使用者有任何的互動,會讓使用者有一種很不爽的感覺。其實,我們可以透過命令的方式來啟動tomcat,這樣我們可以及時地獲取到tomcat啟動過程中的一些資訊,尤其是閃退的問題。下面就來說明下如何透過命令列的方式來啟動tomcat(手邊沒有windows,不能截圖說明了,有點遺憾):

    1、開啟“命令提示符”介面。可以透過開始->執行,或者使用快捷鍵(win+r)的方式開啟執行介面;

    3、在命令視窗中輸入

    startup.bat

    後回車執行。

    透過這種方式啟動tomcat時,就不會一閃即逝了,會在開啟的視窗中留下bat指令碼中的一些輸出資訊,透過輸出資訊就可以比較精準的來定位問題了。

    二、定位啟動問題

    雖說造成閃退的原因可能會有很多,但是具體到某一臺裝置的某一個服務,往往只是一些特定的問題,如果一個一個的從眾多問題中排查的話,不但耗時長,而且不一定能很好的解決問題。所以,快速定位問題非常重要。

    tomcat的啟動入口雖然是

    startup.bat

    ,在啟動過程中還會呼叫其他指令碼,主要是catalina.bat和

    setclasspath.bat

    。每個指令碼中出現異常都可能會導致閃退,通常會透過echo命令,將異常輸出到螢幕上,並直接結束整個批處理過程。由於,在

    catalina.bat

    中,並沒有在結束時保留命令視窗,所以當出現異常時,即使列印了異常資訊,也會因未保留命令視窗而隨著命令視窗一起關閉,造成閃退的現象。這也就是為什麼需要調整啟動方式的原因。

    由此,tomct啟動問題可以分為兩類,一類是未成功呼叫java命令的,另一類是呼叫java命令後執行失敗的。

    1、未成功呼叫java命令的

    這裡包含的情況非常多,但是透過上述的方式啟動基本都可以獲得啟動失敗的原因,如果不清楚具體的含義,那麼就可以透過閱讀啟動指令碼,來定位具體的問題。其實啟動指令碼中的程式碼量並不大,有程式設計經驗的童鞋應該可以比較輕鬆的看懂。這種錯誤通常都是環境導致的問題。

    2、已經呼叫了java命令,但是在啟動過程中報錯。

    定位這一類問題的主要手段是透過日誌檔案,預設在tomcat根目錄下的logs目錄就記錄了tomcat的所有日誌資訊。

    我們常用到的日誌檔案有:

    catalina*:catalina引擎的日誌檔案,程式中的標準輸出也會輸出到這個檔案當中。

    localhost.日期

    .log

    :Tomcat內部程式碼丟出的日誌,最常見的就是jsp異常。

    localhost_access_log*:訪問日誌

    因為在真正部署tomcat時,通常都會把其自帶的應用和不用的埠統統都關掉,所以也不會有manager相關的日誌。

    我是一名程式設計師,更多精彩請關注:空心小窩頭

  • 3 # 西都月季

    這個應該找系統管理員來幫忙,程式設計師搞不了。Tomcat要與Java結合,首先任意路徑執行Java --version ,看是否有正確的輸出。再檢查一下/etc/profile檔案Java環境變數是否設定,然後用echo $JAVA_HOME這樣的方式驗證輸出是否與設定相一致。

    檢查tomcat安裝目錄許可權,是否以普通使用者啟動(程式設計師多半root),資料目錄是否與安裝目錄分離,資料目錄是否許可權正常(程式設計師見許可權問題,上來就是chmod -R 777);檢查指令碼Catania.sh及startup.sh指令碼是否被修改過。

    最後的大法,就是其它Tomcat,檢視日誌Catania.out,一定能查出問題所在。

    建議伺服器用Linux,不用Windows。

  • 中秋節和大豐收的關聯?
  • 現在有部分人形容,種植經濟作物風險大,像在賭博,你怎麼看?