tomcat的war包手工部署和自動部署Windows8
tomcat的安裝大家自行參考上一篇blog,這裡講直接講解tomcat手工和自動部署war包(都是通熟易懂的語言)
一、tomcat手工部署
手工部署:在tomcat啟動時部署
1、直接拷貝war包到tomcat①直接拷貝war包到tomcat的C:\Tomcat-7.0.59\webapps資料夾下(tomcat的安裝路徑)
②然後啟動tomcat(啟動路徑一般是tomcat的bin目錄下面的startup.bat)C:\Tomcat-7.0.59\bin\startup.bat
③啟動過程中在C:\Tomcat-7.0.59\webapps自動解壓war包並生成一個和war名一樣的資料夾,資料夾內是解壓內容
④在瀏覽器輸入localhost:8080/專案名稱/index.jsp時,如果出現該Web專案的login介面時,則表明war包已成功地部署到tomcat伺服器上,並可成功訪問了。
2、直接拷貝war解壓的內容到tomcat
①首先解壓war包(無論在什麼地方解壓)
②在C:\Tomcat-7.0.59\webapps資料夾下建立和專案名稱一樣的資料夾,將war包解壓的內容放到C:\Tomcat-7.0.59\webapps\專案名稱\ 資料夾下
③再啟動tomcat(啟動路徑一般是tomcat的bin目錄下面的startup.bat)C:\Tomcat-7.0.59\bin\startup.bat
④啟動完成後,在瀏覽器輸入localhost:8080/專案名稱/index.jsp時,如果出現該Web專案的login介面時,則表明war包已成功地部署到tomcat伺服器上,並可成功訪問了。
二、tomcat自動部署
這裡講的自動部署主要配置檔案修改和批處理指令碼的編寫(是脫離Jenkins自動編譯部署,後面會有blog專門講Jenkins的自動編譯和部署)
自動部署:在tomcat執行時部署
動態部署需要一個配置引數,就是下面提到的 autoDeploy 為 true。
當設定了該屬性後,tomcat會在其執行時支援如下的操作:(綠色內容為網上借鑑,僅供大家參考)
部署新拷貝到appBase下的war檔案(一般的專案不建議直接部署war包,因為很多專案都需要修改一些配置檔案,在war包中修改配置檔案較為麻煩)
部署拷貝到appBase下的展開的應用(未壓縮的)
當提供一個更新的war包時,重新部署應用。會先刪除當前存在的應用,再進行解壓部署。
當/WEB-INF/web.xml被改寫時,自動部署
當web應用的context.xml上下文描述符被更新時,自動部署
當CATALINA_HOME/conf下對應的應用的上下文描述符被更新時,自動部署
當對應的docBase文件被刪除時,自動部署。
設定了以上的內容後(以上都是tomcat預設的配置,不需要做任何改動),當啟動tomcat時,就會自動部署在appBase目錄下的應用。
並會按照下面的順序進行部署:
1 部署上下文描述符。
2 部署展開的應用。如果部署目錄中存在相應的war包,則檢查是否比當前的應用更新;如果更新,則刪除當前的應用,並解壓該war包,得到最新的應用。
3 部署war包。
1、配置檔案的修改
①修改C:\Tomcat-7.0.59\conf\server.xml,找到<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">,保證autoDeploy="true",
appBase指定了部署的目錄;
autoDeploy設定是否自動部署;
unpackWARs設定了部署的形式,如果為true,則會以展開的形式部署;如果為false,則會以war包的形式部署。
2、自動部署第一種方法:批處理指令碼的編寫
首頁你需要花時間學習一下批處理指令碼的基本語法(很容易上手),還需要確保你的jdk安裝正確
①這裡假設你已經打好了war包如:WB-1.0.1-Snapshot.war 存放在C:\Users\J\.jenkins\workspace\test\WB\target\ 資料夾下,這時候需要將war包解壓的內容複製到C:\Tomcat-7.0.59\webapps\專案名稱\ 資料夾下
新建一個txt檔案,儲存為:auto_deploy.bat(這裡我們的專案名稱就稱為:WB)
auto_deploy.bat指令碼的內容為:
echo 備份應用(備份是部署人員最起碼的東西的) if exist C:\backups\WB rd C:\backups\WB /q /s xcopy C:\tomcat\webapps\WB\*.* C:\backups\WB\ /y /s /e /i echo 新建一個C:\source資料夾,C:\Users\J\.jenkins\workspace\test\WB\target\WB-1.0.1-Snapshot.war 複製到C:\source資料夾,並修改war包的名字cd C:\source if exist C:\source\WB.war del C:\source\WB.war /q copy C:\Users\J\.jenkins\workspace\test\WB\target\WB-1.0.1-Snapshot.war C:\source\WB.war if not exist WB md WB cd C:\source\WB echo 解壓開始 jar -xvf C:\source\WB.war
echo 複製C:\source\WB\目錄下的內容到C:\Tomcat-7.0.59\webapps\WB\目錄下
xcopy C:\source\Website\*.* C:\tomcat\webapps\WB\ /y /s /e /i 若是不存在配置檔案修改等,使用上面的指令碼就可以實現自動化部署,是不是感覺很麻煩,其實用Jenkins很容易實現上面的操作,而且只要輕輕一點就可以了,但是還是要一步一步來,因為Jenkins也是要配合指令碼使用使用的
②點選auto_deploy.bat執行,war的內容就自動複製到C:\Tomcat-7.0.59\webapps\專案名稱\ 下了,tomcat就會自動部署
3、自動部署第二種方法:利用控制檯進行部署
假設你已經打好了war包如:WB-1.0.1-Snapshot.war 存放在C:\Users\J\.jenkins\workspace\test\WB\target\ 資料夾下
②進 入tomcat的manager控制檯的deploy區域
③在Context path中鍵入"XXX"(可任意取名)如:/WB (會在C:\Tomcat-7.0.59\webapps目錄下建立一個WB資料夾)
④在WAR or Directory URL:鍵入C:\source\WB.war (這個輸入war包地址)——點選deploy按鈕。
⑤在C:\Tomcat-7.0.59\webapps路徑下將會自動出現一個名為XXX的資料夾,其內容即是WB.war解壓的內容,只是名字是XXX而已(這就是前面在Context path鍵入XXX的結果)。
Tomcat的自動部署。如何WB專案裡面的配置檔案不需要做改動的話,這種方法可能更實用一些