启动tomcat后,(project context name就是在tomcat下webapps文件夹中项目的文件名,对应url的context)
curl -T XXX/XXX/.war url:port/manager/text/deploy?path=/XXX(project context name)&update=true
或者
curl url:port/manager/text/undeploy?path=/XXX(project context name)&update=true
第一个 指令 是deploy 项目的war包 到 tomcat下webapps下的目录中。
第二个指令是删除在tomcat的webapps目录中,文件夹名字是project context name的war包 和 对应的文件夹。
在tomcat的 server.xml中的配置。
<Host>元素
一个<Engine>元素可以包含多个<Host>元素,每个<Host>的元素定义一个虚拟主机,它包含一个或多个web应用。
属性说明:
属性 | 说明 |
name | 虚拟主机名,对应目录 /conf /Catalina /localhost |
appBase | 指定虚拟主机的目录,默认为/webapps。它将请求url与该虚拟主机的context进行匹配,并把请求转给对应的context来处理。 |
Debug | 日志等级。 |
autoDeploy | 默认为true,表示如果有新的WEB应用放入appBase并且Tomcat在运行的情况下,自动载入应用。 |
unpackWARs | 如果设置为true,表示把war文件先展开再运行。如果为false则直接运行war文件。 |
<Context>元素
代表运行在虚拟主机上的单个web应用。一个<Host>可以包含多个<Context>元素。每个web应用有唯一个相对应的Context代表web应用自身。
属性说明:
属性 | 说明 |
path | Web应用名,在使用url访问host下的web应用时,通过http://localhst/ website 的形式。其中localhost为上文所说的host的name,而website就是这里的path。 也就是说当一具请求到来时,engine先根据host name = localhost来确定所要求的主机,再根据context path = website确定用户所请求的web应用。 |
docBase | Web应用的具体存放路径 |
Debug | 日志等级。 |
autoDeploy | 默认为true,表示如果有新的WEB应用放入appBase并且Tomcat在运行的情况下,自动载入应用。 |
unpackWARs | 如果设置为true,表示把war文件先展开再运行。如果为false则直接运行war文件。 |
大家可以看到 Host 标签和Context标签中
autoDeploy="true" ---- 自动部署
reloadable="true" ---- 自动加载
reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。