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服務,測試服務是否正常,業務系統是否正常即可;