Tomcat部署Web项目
转 http://blog.csdn.net/darcy_yuan/article/details/10171951
Tomcat的目录结构
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应用文件放于此目录。
常见的三种部署方法
1.将需要发布的web应用打成war文件,(例如:ROOT.war) 拷贝到<CATALINA_HOME>/webapps下,
启动Tomcat, 如果是ROOT.war,直接通过http://ip:port/即可访问 ,如果是xxxx.war,可通过http://ip:port/xxxx/访问
2.通过在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/访问
3.在conf\Catalina\localhost目录,在该目录中新建一个xml文件,名字可以随意取,只要和当前文件中的文件名不重复就行了,该xml文件的内容为:
<Context path="/hello" docBase="D:\eclipse3.2.2forwebtools\workspace\hello\WebRoot" debug="0" privileged="true">
</Context>
第3个方法有个优点,可以定义别名。服务器端运行的项目名称为path,外部访问的URL则使用XML的文件名。这个方法很方便的隐藏了项目的名称,对一些项目名称被固定不能更换,但外部访问时又想换个路径,非常有效。 第2、3还有优点,可以定义一些个性配置,如数据源的配置等。
同一端口号配置多个项目:
server.xml配置如下
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/xxxx" docBase="D:\eclipse\workspace\PORTAL\WebContent" reloadable="true" cookies="false">
</Context>
<Context path="/yyyy" docBase="D:\eclipse\platform\PORTAL\WebContent" reloadable="true" cookies="false">
</Context>
</Host>
不同端口号配置多个项目:
复制service,修改connector的两个端口
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> ……
<Service name="Catalina">
<Connector port="8088" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8099" protocol="AJP/1.3" redirectPort="8443" /> ……