Tomcat 部署Web應用 的三種方式
操作前,先來了解一下Tomcat的目錄結構。(適用於Tomcat 6.0,Tomcat7.0,Tomcat8.0)
Tomcat下有7個目錄
分別是bin,conf,lib,logs,temp,webapps,work 目錄,現在對每一目錄做介紹。
Tomcat根目錄在tomcat中叫CATALINA_HOME,
1. CATALINA_HOME/bin: 存放各種平臺下啟動和關閉Tomcat的指令碼檔案。
2. CATALINA_HOME/lib: 在lib目錄下的lib目錄,存放Tomcat伺服器和所有web應用都能訪問的JAR。
3. CATALINA_HOME/work: Tomcat把各種由jsp生成的servlet檔案放在這個目錄下。
4. CATALINA_HOME/temp: 臨時活頁夾,Tomcat執行時候存放臨時檔案用的。
5. CATALINA_HOME/logs: 存放Tomcat的日誌檔案。
6. CATALINA_HOME/conf: Tomcat的各種配置檔案,最重要的是server.xml。
7. CATALINA_HOME/webapps: Tomcat的主要Web釋出目錄,預設情況下把Web應用檔案放於此目錄。
war包部署:
將需要釋出的web應用打成war檔案,(例如:ROOT.war) 拷貝到CATALINA_HOME/webapps下,
啟動Tomcat,
如果是ROOT.war,直接通過http://ip:port/即可訪問
如果是xxxx.war,可通過http://ip:port/xxxx/訪問
目錄部署:
通過在server.xml中新建Context,部署一個JSP應用程式。
開啟CATALINA_HOME/conf/server.xml檔案,在Host標籤內建一個Context,內容如下。:
<Context path="/xxxx" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/>
其中path是虛擬路徑,docBase是JSP應用程式的物理路徑,workDir是這個應用的工作目錄,存放執行是生成的於這個應用相關的檔案。
啟動Tomcat,可通過http://ip:port/xxxx/訪問
重定向web應用程式的目錄:
如果想在伺服器上執行一個以上的Tomcat例項,公用一個Tomcat發行版檔案,
或者想在升級Tomcat時,覆蓋原來的配置檔案,而不影響現有的web應用程式,
那麼“重定向web應用程式的目錄”方式部署是一個不錯的選擇。
假如Tomcat發行版安裝路徑是:/opt/Tomcat/,
Web應用名為aubapp,
在/srv/下建立目錄aubapp
在/srv/aubapp/下建立目錄webapps,work,temp,conf
將/opt/Tomcat/conf/下的所有內容,拷貝到/srv/aubapp/conf/下,
採用方案1,將war包拷貝到/srv/aubapp/webapps/下,
或者方案2,修改/srv/aubapp/conf/server.xml檔案制定應用路徑
編寫啟動指令碼start.sh,我習慣於將其放在/srv/aubapp/bin/下
#!/bin/sh
#設定web應用程式目錄
export CATALINA_BASE="/srv/aubapp"
#設定Tomcat發行版安裝目錄
export CATALINA_HOME="/opt/Tomcat"
#後臺啟動Tomcat,並將控制檯日誌重定向
nohup sh /opt/Tomcat/bin/catalina.sh run >../logs/tomcat.log 0</dev/null 2>&1 &
啟動後,訪問方式與war包部署和目錄部署一樣。