背景
当我们开发完项目,需要部署到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