原文:http://my.oschina.net/jfinal/blog/353062java
首先明確一下 JFinal 項目是標準的 java web 項目,其部署方式與普通 java web 項目沒有任何差異。Java Web 項目在 Tomcat 下部署有一些沒必要要的坑須要避免,因此撰寫此文方便你們繞過一些坑,如下部署以 linux 爲例,windows 與此相似:linux
1:建立一個目錄: /var/wwwweb
2:爲將要部署的項目建立一個目錄, /var/www/my_projectwindows
3:將項目打成 war 包, 而後解壓到 /var/www/my_project瀏覽器
4:最終的目錄結構爲:/var/www/my_project/WEB-INF,也即 WEB-INF 在項目名稱目錄之下tomcat
5:修改 TOMECAT_HOME/conf/ server.xml 文件找到 Host 標記,在其中添加以下子標記: app
<Context path="" docBase="/var/www/my_project" reloadable="false" />webapp
6:啓動 tomcat spa
七、瀏覽器中打開 http://127.0.0.1:8080/(若是配置http端口是8080).net
第一個關鍵點:以上配置中項目是部署在了 TOMCAT_HOME/webapps 目錄以外的,這樣作是爲了不 tomcat 加載項目兩次的坑,由於配置文件中若是配置了該項目會被加載一次,而項目在 webapps 下面又會被自動重複加載一次,這個坑會引起一些莫名奇妙的問題,例如:有些項目有定時任務,若是重複加載項目,那麼定時任務也會被執行屢次。因此記住第一點,永遠不要將項目放在 TOMCAT_HOME/webapps 目錄下面。
第二個關鍵點:以上配置中的 Context 標記的 path 屬性必定要設置爲 "" 而不是 "/",不然也會跳入一個坑。 docBase 屬性後面放項目名稱的絕對地址, windows 下則是相似於這樣的值: d:/www/my_project。
簡單說 tomcat 下配置分兩步,一是在 webapps 目外以外建目錄放項目,二是在 Host 標記放入 Context 子標記。
問題:請問一個tomcat下部署多個項目該怎麼配置了?
答案:將server.xml 中的 Host 標記複製多份,並列放着,改一下其中的 name 屬性爲相應的域名便可,例如將第一個的name屬性改爲 name="abc.com" 第二個改爲 name="def.com",那麼這兩個域名能夠分別訪問到不一樣的兩個項目