Tomcat將配置文件放在外部的解決方法

問題

我們在平常開發的時候, 如果要把項目部署到Tomcat裡面, 一般的做法就是講項目打成war包, 然後將war包扔到Tomcat的webapps目錄下面, 然後啟動項目就可以瞭.

但是在將項目部署到生產環境的時候, 生產環境的配置文件一般是與本地開發不一樣的, 那麼使用剛剛的方法在生產上部署, 就比較麻煩, 需要手動去刪除原來的配置文件, 或者打包的時候排除配置文件, 然後在將正確的配置文件復制到項目的resource目錄下面去.

那麼,有沒有更簡單一點的方法呢?

解決方法

我們可以將配置文件放在服務器上面的一個固定的位置,比如:/var/config下面. 然後在Tomcat裡面引入這些配置文件.
具體步驟如下:

  • 進入到Tomcat根目錄

  • 進入conf目錄, 並創建文件夾Catalina
  • 進入Catalina目錄, 並創建文件夾localhost
  • 進入localhost目錄, 並創建文件 appContext.xml

特別註意: 這裡的appContext是你項目的上下文, 你需要修改成你自己的項目上下文名稱, 比如:taobao.xml

appContext.xml 裡面這樣填寫

<Context  path ="/appContext"  docBase ="/home/tools/apps/appContext.war"
        debug ="0"  privileged ="true"  reloadable ="true"  >
        <Parameter name="" value="/home/tools/config" override="false"/>
</Context>

path:    填寫你項目的上下文
docBase: 填寫war包路徑
value:   填寫項目配置文件路徑

回到Tomcat更目錄, 再進入bin目錄, 修改setenv.sh文件

CLASSPATH=$CLASSPATH:/home/tools/config

如果沒有這個文件, 就新建這個文件,並設置可執行權限.

  • 配置基本完瞭, 然後將配置文件放置對應的目錄, 將war包放在對應的目錄, 啟動Tomcat就可以啦

我這裡配置文件對應目錄是/home/tools/config, war包對呀目錄是/home/tools/apps/appContext.war 你們根據自己的需求來修改這兩個路徑

最後分享一個小知識, Tomcat設置內存大小

在Tomcat的bin目錄下面, 打開catalina.sh 文件, 在正式代碼的第一行加上這句JAVA_OPTS=”-server -Xms128m -Xmx256m -XX:PermSize=64M -XX:MaxPermSize=128m”
具體的內存大小需要你按照自己的需求去設置

總結

到此這篇關於Tomcat將配置文件放在外部的文章就介紹到這瞭,更多相關Tomcat配置文件放外部內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: