《tomcat网站部署》

静态部署

直接将web项目文件拷贝到webapps目录下

直接将web项目下WebRoot目录下所有内容复制到tomcat安装目录下的webapps目录,这个webapps目录是Tomcat目录的默认应用目录,webapps目录下的每个文件夹都是一个应用,当tomcat服务器启动时候,会加载webapps目录下所有应用。比如一个web项目TT,直接将TT项目的WebRoot目录下所有内容复制,然后在webapps目录下新建一个TT目录,然后将复制的内容粘贴到webapps目录下新建的TT目录下。 
对于webapps这个tomcat默认的应用存放的目录是可配置的,打开tomcat安装目录下conf目录下server.xml文件找到的如下代码:

 <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
  • 1
  • 2

将appBase修改即可,改写tomcat的默认应用目录。比如改变为webs,那么启动Tomcat后立即在tomcat安装目录下新建一个叫webs的文件夹作为tomcat 应用目录,原来的部署在webapps目录下的应用都访问不到了,比如讲web应用复制到webs目录下才能访问到。

server.xml文件中配置

tomcat的配置文件中,一个web应用就是一个特定的Context,通过在server.xml文件中的Host节点标签内构建一个Context标签部署一个JSP应用程序。 
比如如下这个配置例子:通过http://localhost:8080/vc/访问。

path =/vc 是浏览器访问appliction项目的虚拟路径

docBase=D:\Dev\appliction\WebRoot表示web工程WebRoot的真实目录

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        
        

        
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />
               
        <Context path="/vc" docBase="D:\Dev\appliction\WebRoot" debug="0" privileged="true" reloadable="true">Context>

      Host>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

或者其他案例

或者
<Context path="/myapp" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/>
或者
<Context path="/sms4" docBase="D:\workspace\sms4\WebRoot"/>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

参数说明: 
path是虚拟路径;

docBase 是应用程序的物理路径;

workDir 是这个应用的工作目录,存放运行时生成的与这个应用相关的文件;

debug 则是设定debug level, 0表示提供最少的信息,9表示提供最多的信息

privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet

reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,可以在不重起tomcat的情况下,自动装载改变后的应用程序,实现热部署

antiResourceLocking和antiJARLocking 热部署是需要配置的参数,默认false避免更新了某个webapp,有时候Tomcat并不能把旧的webapp完全删除,通常会留下WEB-INF/lib下的某个jar包,必须关闭Tomcat才能删除,这就导致自动部署失败。设置为true,Tomcat在运行对应的webapp时,会把相应的源文件和jar文件复制到一个临时目录里。

创建一个Context文件单独设置一个应用

在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字不可以随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是vc(vc.xml),该xml文件的内容为如下:

<Context path="/vc" docBase="D:\Dev\appliction\WebRoot" debug="0" privileged="true" reloadable="true">Context>
  • 1

文件内容其实和上面第二点其实是一样的,只是单独以一个xml文件形式部署web应用,一个文件表示一个web应用,文件名是虚拟路径。

删除一个应用

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

你可能感兴趣的:(note)