我的工作之一是在tomcat服務器中部署war文件,並且我這樣做了多年。我部署的方式是;將war複製到我在tomcat虛擬主機中設置爲appbase
的新創建的目錄中,並啓動tomcat以解壓appbase下的war,最後停止tomcat,將提取的目錄從appbase移動到webapps並最終啓動tomcat 。我們的開發人員嚴格推薦這個程序,因爲他們在抱怨,因爲如果由於多次自動部署而直接將這場戰爭置於web應用程序中,他們會收到一些郵件。這種方式對我們來說很好,在生產服務器上從不面臨任何問題。手動jar提取與Tomcat解壓
我的問題是,
與命令行mkdir myapp;cd myapp;jar -xf /path/myapp.war
和tomcat的提取相同的方式,人工提取?我想編寫一個腳本,如果我用jar
命令手動解壓war文件並將它放入webapps並啓動tomcat,而不是讓tomcat解壓縮這場戰爭,會不會有任何問題?它是否工作,是否推薦用於生產服務器,或者它是否與tomcat提取的方式有所不同,如果它神祕地做了哪些jar無法做的事情?
需要幫助,謝謝!
我只是一個系統管理員,我只是管理tomcat服務器,但不知道應用程序的內部功能。它的部署方式根本不是問題,但考慮如果我手動提取戰爭以及它是否與Tomcat本地解壓縮有什麼區別。 – user465465
WAR自己解包與Tomcat解包之間基本上沒有區別。如果你想讓Tomcat運行,那麼最好讓Tomcat解壓縮WAR文件,否則Tomcat可能檢測到你的webapp(比如更新的JAR文件或者.class文件)的改變,並且在手動解包操作期間重新加載* ,這可能會導致您的web應用程序顯着不穩定。如果Tomcat管理拆包,它不會出現這樣的錯誤。 –
好的,推薦tomcat的解壓。而且,如果我將appbase指定爲webapps並將戰爭直接放入webapps中,由於每個應用程序都具有虛擬主機,它將重新加載指定的虛擬主機數量的許多倍的戰爭。這就是爲什麼我將appbase指定爲每個應用程序的唯一身份,並將其再次移至webapps。 – user465465