1. 程式人生 > >tomcat 搭建以及釋出配置

tomcat 搭建以及釋出配置

身為開發人員, 一直幹著開發的事情, 只幹開發的事情, 卻缺少了對於環境部署方面的必備技能的培養, 所以在公司安排的手頭任務解決完的情況下, 自己抽空了解並且實踐了一下tomcat的配置。寫下通過網路學習後的自我經驗, 如果有同行看到了, 同時發現了不足或者說問題的, 還請多多指正, 謝謝。

導引

  • 下載Apache tomcat 壓縮包
  • 部署專案
  1. 直接部署
  2. 通過修改配置檔案部署

1.下載Apache tomcat 壓縮包

前往Apache tomcat 官網下載, 直接下載Core下面的就好了, 我是直接下載zip的.

2.部署專案(不考慮tomcat埠被佔用的情況)

2a. 直接部署

直接將打包好的war包放到webapps下面, 只要tomcat處於執行狀態, 或在war包放置好之後, 再執行tomcat, 都會自動解壓war包

2b. 通過修改配置檔案部署

這個第二種方法, 提供的是可以將war放在非指定的webapps檔案下面, 通過配置檔案中指定的路徑, tomcat會找到檔案, 並解壓到webapps目錄下面

配置檔案為server.xml, 修改示例如下:

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

		<!-- Tomcat Manager Context -->

		<Context path="/xf-enuo" docBase="D:/xf-runProject/ROOT.war" debug="0" privileged="true"  reloadable="true" /> 
		
        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />

      </Host>

 

兩種方式各有好處, 通過第二種的話, 本地開發時, 只要在本地的tomcat配置檔案server.xml中配置開發專案的打包檔案的路徑, 在修改好程式碼後, 重新打包, 然後再重啟tomcat, 就可以了. 但是第二種存在的一個問題是, 將war刪除了, 不會自動解壓出來的在webapps目錄下的資料夾, 也就是說, 刪除了, 但是之前專案還是在跑的[我自己親自試過了],另外就算是替換了war包, 它也不會為你重新解壓然後覆蓋掉webapps目錄下面的資料夾.  如果指定檔案不存在了的話, tomcat在啟動時是不成功的, 必須保證指定的檔案存在.  而相對的, 第一種方法, war必須放在webapps目錄下面, 但是當刪除一個war的時候, tomcat會自動的幫我們把它對應的解壓出來的檔案一起刪除掉, 這樣的話, 多個專案只需要更替當中一個的時候, 這種方法就起到好的效果了, 因為如果tomcat重啟的話, war都是會重新解壓的, 而如果我們使用第一種, 只要tomcat啟動著, 我們刪除一個war包, 它就會幫我們刪除執行的專案, 再提交tomcat只會對重新提交的war進行解壓, 對於多專案而言, 第一種幫我們分離了專案, 所以我還是比較喜歡用第一種, 當然第二種可能是我沒有學到家, 後期再抽空實踐一下吧.