您的位置:首页 > 运维架构 > Tomcat

钻一钻Tomcat 之 Tomcat项目部署(Ⅵ)

2015-11-13 13:21 615 查看
Tomcat调配好了,下面来部署项目。

网上可以找到很多方法,什么静态部署,动态部署,下面总结一下:

二、静态加载

 

1、直接将web项目文件件拷贝到webapps 目录中

    Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。
    webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的server.xml文件,找到下面内容,将appBase修改即可。

            



unpackWARs为true时,服务器会自动解开webapps下war包,并在这个目录下生成一个同名的文件夹。
一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse等。
也可以用
cmd 命令:jar -cvf mywar.war  myweb

2、在server.xml中指定

    在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在server.xml中新建Context里部署一个JSP应用程序。
在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加:

<Context path="/hello" docBase="D:\ workspace\hello\WebRoot" debug="0" privileged="true">
</Context>


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


 
或者
<Context path="/sms4" docBase="D:\workspace\sms4\WebRoot"/>


 
说明:
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文件复制到一个临时目录里。
3、创建一个Context文件

  在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字不可以随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是hello(hello.xml),该xml文件的内容为:
<Context path="/hello" docBase="E:\workspace\hello\WebRoot" debug="0" privileged="true"></Context>

tomcat自带例子如下:

<Context docBase="${catalina.home}/server/webapps/host-manager"

        
privileged="true" antiResourceLocking="false" antiJARLocking="false">

</Context>例子是tomcat自带的,编辑的内容实际上和第二种方式是一样的,其中这xml文件名字就是访问路径,这样可以隐藏应用的真实名字。
 
二、动态加载

 

首先,在浏览器输入http://localhost:8080登录进入Tomcat Manager管理界面,在下边我们可以看到两种方式加载项目



一个是加载本地的目录或war包,另一个是上传war包加载。这两种都应该算是动态加载。

1,加载服务器所在机器上的项目或War包 (Deploy directory or WAR file located on server)

举例



(1) 在Context Path(option):代表你的应用的访问地址, / 必须有,例如:/ajax。



(2) XML Configration file URL中要指定一个xml文件,比如我们在D:\workspace下建立一个ajax.xml文件,内容如下:

  <Context reloadable="false" />

context中path不用写,上一个文本框已填,docBase也不用写了,因为在下一个文本框中要填入。

或者更简单点,这个文本框什么都不填

(3) 在WAR or Directory URL:中键入D:\workspace\ajax 
(war包的话填:D:\workspace\ajax.war)

然后点击Deploy按钮,上面就可以看到了web应用程序,名字就Context Path(option):中的名字。



 

2, 加载war包 (WAR file to deploy)

如果部署.war文件还有更加简单的方式,下面还有个Select WAR file upload点击浏览选择.war文件,然后点击Deploy也可以。

这种方式可以远程访问Tomcat Manager 加载项目。

 

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

 

 

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息