問題
我們在平常開發的時候, 如果要把項目部署到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"
具體的內存大小需要你按照自己的需求去設置