操作前,先来了解一下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包部署和目录部署一样。