Tomcat中部署web项目的方法

时间:2021-10-06 18:18:34

一、动态部署

1. 使用控制台部署

访问Http://localhost:8080,并通过Tomcat Manager登录,进入部署界面即可。

二、静态部署

(下面用到的$tomcat表示tomcat的安装目录)
有3种方法:

1. 利用Tomcat自动部署

(初学者经常用)
将应用程序(web项目)复制到Tomcat的 webapps路径下,Tomcat启动时将自动加载。

2. 修改Server.xml文件部署

打开$tomcat/conf/server.xml配置文件,找到以下代码:

<Host name="localhost" debug="0" appBase="webapps" 
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

.....
</Host>

在Host之间(一般都紧挨前加)添加如下内容:
Xml代码:

<Context path="/lettin" docBase="/home/newdisk/project/lettin" 
debug="0" privileged="true" reloadable="true">

</Context>

参数说明:

  • path 虚拟路径;
  • docBase 应用程序的物理路径,注意斜杠方向;
  • workDir 这个应用的工作目录,存放运行时生成的与这个应用相关的文件,也就是缓存文件的放置地址;
  • debug 设定debug level, 0表示提供最少的信息,9表示提供最多的信息
  • privileged 设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet
  • reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署
  • antiResourceLockingantiJARLocking 热部署是需要配置的参数,默认false避免更新了某个webapp,有时候Tomcat并不能把旧的webapp完全删除,通常会留下WEB-INF/lib下的某个jar包,必须关闭Tomcat才能删除,这就导致自动部署失败。设置为true,Tomcat在运行对应的webapp时,会把相应的源文件和jar文件复制到一个临时目录里。

3. web部署文件

(推荐使用,不需要重启Tomcat)
在$tomcat/conf/Catalina/localhost下新建一个xml文件(注意此文件名将作为Context中的path,不管文件里的path怎么设置也无效),将下面内容复制进去。
xml代码:

    <?xml version='1.0' encoding='utf-8'?>
<Context path="/lettin" docBase="/home/newdisk/project/lettin"
debug="0" privileged="true" reloadable="true">

</Context>

部署完了,通过http://localhost:8080/你的path名 就可以访问了。

注意:

删除一个Web应用同时也要删除webapps下相应的文件夹和server.xml中相应的Context,还要将Tomcat的conf\catalina\localhost目录下相应的xml文件删除,否则Tomcat仍会去配置并加载。。。

参考资料: