tomcat是一个比较好用的web服务器,下面就总结下web服务的部署方式。
1、静态部署
1.1、webapps作为tomcat项目的默认目录,可以直接将war包或者目录直接扔进这个目录。webapps 这个默认的应用目录也是可以改变。打开 Tomcat 的 conf 目录下的 server.xml 文件,找到下面内容:
将 appBase 修改即可。
1.2、修改%TOMCAT_HOME%/conf/server.xml文件,在<Host/>标签中添加
来指定应用目录.
说明:
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 文件复制到一个临时目录里。
1.3、在%TOMCAT_HOME%/conf\Catalina\localhost目录下新建一个xml文件,添加标签
文件名要与path的值一致
注意:
删除一个 Web 应用同时也要删除 webapps 下相应的文件夹和 server.xml 中相应的 Context ,还要将 Tomcat 的 conf/catalina/localhost 目录下相应的 xml 文件删除,否则 Tomcat 仍会去配置并加载。。。
2、动态部署
登陆 tomcat 管理控制台: http://localhost:8080/ ,输入用户名和密码后便可管理应用并动态发布。
在默认情况下,Tomcat Manager是处于禁用状态的。准确地说,Tomcat Manager需要以用户角色进行登录并授权才能使用相应的功能,不过Tomcat并没有配置任何默认的用户,因此需要我们进行相应的用户配置之后才能使用Tomcat Manager。
Tomcat Manager的用户配置是在%TOMCAT_HOME%/conf/tomcat-users.xml文件中进行管理的。配置如下
以下是Tomcat Manager 4种角色的大致介绍(下面URL中的*为通配符):
manager-gui
允许访问html接口(即URL路径为/manager/html/*)
manager-script
允许访问纯文本接口(即URL路径为/manager/text/*)
manager-jmx
允许访问JMX代理接口(即URL路径为/manager/jmxproxy/*)
manager-status
允许访问Tomcat只读状态页面(即URL路径为/manager/status/*)
配置好后就可以在这里进行管理了,
在 Context Path(option): 中输入 /yourwebname ,这代表你的应用的访问地址。
XML Configration file URL 中要指定一个 xml 文件,比如我们在 F:/ 下建立一个 hmcx.xml 文件,内容如下:
其中 docBase 不用写了,因为在下一个文本框中填入。或者更简单点,这个文本框什么都不填,在 WAR or Directory URL: 中键入 F:/hmcx 即可,然后点击 Deploy 按钮,上面就可以看到了 web 应用程序,名字就 Context Path(option): 中的名字。
如果部署 .war 文件还有更加简单的方式,下面还有个 Select WAR file uploae 点击浏览选择 .war 文件,然后点击 Deploy 也可以。
3、使用maven远程发布web应用
3.1、像上面一样先在tomcat-users.xml文件中配置好用户。
3.2、配置maven的setting.xml文件,在<servers/>添加
tomcat admin admin
3.3、在pom.xml文件中配置
org.apache.tomcat.maven tomcat7-maven-plugin 8080 / http://192.168.0.73:8080/manager/text admin admin
3.4、使用clean tomcat7:redeploy