Apache Tomcat目錄結構與版本升級
升級原因:
由於當前作業系統內的tomcat版本過低,存在大量高中危漏洞,存在一定的安全隱患。如下圖所示,使用綠盟掃描器進行掃描爆出大量漏洞。
升級思路:
既然決定要升級,那麼我覺得首先要做的就是自己需要了解tomcat下面每個目錄的作用是什麼?這樣既能讓自己瞭解tomcat是怎麼去執行的,也能夠避免在升級過程中的發生一些不必要的安全事件。下面簡單介紹一下tomcat下各目錄的具體作用(以tomcat9.0.36為例):
1、 bin目錄主要是用來存放tomcat的命令,主要有兩大類,一類是以.sh結尾的(linux命令),另一類是以.bat結尾的(windows命令);
2、 conf目錄主要是用來存放tomcat的一些配置檔案;
3、 lib目錄主要用來存放tomcat執行需要載入的jar包。例如,像連線資料庫的jdbc的包我們可以加入到lib目錄中來;
4、 logs目錄用來存放tomcat在執行過程中產生的日誌檔案,非常重要的是在控制檯輸出的日誌。(清空不會對tomcat執行帶來影響),windows環境中,控制檯的輸出日誌在catalina.xxxx-xx-xx.log檔案中,linux環境中,控制檯的輸出日誌在catalina.out檔案中;
5、 temp目錄使用者存放tomcat在執行過程中產生的臨時檔案。(清空不會對tomcat執行帶來影響);
6、 webapps目錄用來存放應用程式,當tomcat啟動時會去載入webapps目錄下的應用程式。可以以資料夾、war包、jar包的形式釋出應用。當然,你也可以把應用程式放置在磁碟的任意位置,在配置檔案中對映好就行;
7、 work目錄用來存放tomact在執行時的編譯檔案;
在我們簡單的瞭解tomcat各個目錄的作用以後,這個時候我覺得tomcat正常工作的核心是依賴哪些目錄,那麼只要將這幾個核心目錄進行升級就ok了(好像醫生看病一樣,病人說我牙疼,醫生不可能去開腳疼的藥一樣)。
升級過程:
在加固或者修復過程中,首先需要乾的第一件事情就是:備份、備份、備份;重要的事情說三遍,為什麼需要備份,大家自行腦補。
1、 將tomcat服務停止,windows:結束對應的程式、可以通過關閉cmd視窗、或停止對應的tomcat服務進行。Linux下執行shutdown.sh指令碼。
2、 備份bin目錄和lib目錄,如下所示(以windows為例,linux備份對應目錄即可):
3、 將提前準備好的最新版本apache-tomcat包解壓,並將bin目錄和lib目錄覆蓋到當前作業系統中的tomcat對應的程式資料夾;
注意事項:
l 最好進行小版本升級,如從7.0.20版本升級到7.0.105,而不能從7.0.20直接升級到9.0.36
4、 檢視最新的版本是否為你所升級的版本(如下圖),當server version為你所升級的版本時候,則表示升級成功;
5、 啟動tomcat服務,測試服務是否正常,業務系統是否正常即可;