背景

当我们开发完项目,需要部署到tomcat服务器,你是否重复以下步骤,连接远程服务器、关闭tomcat、删除war包、上传war包、启动服务器,步骤是如此繁琐,那么有没有一种方式直接一键部署呢?答案是肯定的,就是我今天要说的tomcat热部署

热部署就是在不停止tomcat的情况下,将新的war包放上去,达到服务不中断,用户无察觉的目的。

在开始介绍前,先说说他的原理

Tomcat热部署原理

启动tomcat时,tomcat也会同时启动一个后台线程BackgroundProcessor,在线程内部他主要做这几件事:

1各容器组件周期性的检查类文件变化,当检查到文件变化时,tomcat会使用WebAppClassLoader 类加载器重新加载文件(热加载),过程中不会清空session。

2触发HostConfig监听器,定期检查web应用,应用删除,销毁content容器,有新的应用就部署(热部署),过程中会清空session。

上边两件事都有开关控制:

热加载: 默认是关闭的

热部署: 默认是开启的

实际操作1开启热部署配置

我使用的是tomcat8,tomcat7操作略有不同。

找到conf文件夹,修改tomcat-users.xml

在 节点下面增加如下配置,密码和用户名都可以自己设置:



开启远程ip访问

找到/usr/local/tomcat/webapps/manager/META-INF/context.xml

注释掉这个Value节点。(关闭远程访问Manager访问权限ip限制)。

热部署_热部署_热部署

如果能看到下边网页就代表配置成功了

热部署_热部署_热部署

2配置pom文件



org.apache.tomcat.maven
tomcat7-maven-plugin
2.2

/
8080
UTF-8
http://ip地址:8080/manager/text
 lytest
lytest


注意:如果

配置/,那么项目会直接发布到ROOT中,直接访问即可

如果

配置成/chinatsiPortalWeb,那么会在webapps下创建chinatsiPortalWeb.war 包,访问时路径上要加上chinatsiPortalWeb

热部署_热部署_热部署

3部署(以后更新项目只需这一步即可)

添加命令

热部署_热部署_热部署

执行,看到如下即代表发布成功

服务器上已经出现了相应war包

项目正常访问

热部署_热部署_热部署

您的赞和关注是对我创作的最大肯定谢谢大家

限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: lzxmw777

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注