引言
在学习中看到了Spring项目在Tomcat上热部署的方式,由于以前项目的部署方式都是先打包,再上传,所以印象很深刻,以此记录
工具
IDE工具为IDEA,Linux图形化工具为Xftp,shell工具为Xshell
Tomcat 热部署
1. Tomcat配置
1.1 上传Tomcat安装包并解压
官方网站下载Redis的Linux系统安装包,后缀 .tar.gz
,使用XFtp上传到Linux服务器
1.2 Tomcat的配置
需要实现热部署,自然就需要通过Maven操作Tomcat,所以就需要Maven取得操作Tomcat的权限,这一步就是配置tomcat的可操作权限
第一步:修改conf/tomcat-user.xml文件
[root@VM_175_68_centos apache-tomcat-9.0.8]# vim conf/tomcat-users.xml
在<tomcat-users>
节点下面增加如下配置:
<role rolename="manager-gui" />
<role rolename="manager-script" />
<user username="tomcat" password="tomcat" roles="manager-gui, manager-script"/> //用户名和密码可以自行设置,后面会用
Tomcat可以设置四个角色,分别代表不同的权限,可自行配置,如下图:
第二步:修改webapps/manager/META-INF/context.xml文件
由于本人使用的是Tomcat9,还需要这一项额外的配置,好像Tomcat8以前的版本不需要,以后的版本就需要了,现在大多数都是8和9版本,写下来最好
注释掉以下内容:
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
<!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
1.3 启动Tomcat
[root@VM_175_68_centos apache-tomcat-9.0.8]# ./bin/startup.sh
第一步: Tomcat默认端口8080,访问出现默认页面即启动成功
第二步: 点击Manager App按钮
弹出如下窗口则证明配置生效:
第三步:填入自行设置的用户名和密码
出现上图界面则说明Tomcat配置完成
由于我们使用自动上传部署,这里不做任何操作,只当验证
2. SpringMVC 项目配置
使用maven插件实现热部署
需要使用Maven的Tomcat插件,实现maven打包——>上传——>热部署一气呵成
Maven的配置
修改项目的pom.xml
文件,在<build>
节点下面增加如下配置:tomcat7的配置
<url>http://119.29.233.28:8080/manager/text</url>
<username>tomcat</username>
<password>tomcat</password>
用户名和密码为Tomcat配置文件中所配置的,服务器ip+端口(若没有更改端口默认为8080,若更改了这里也须改变),端口后的路径/manager/text
是固定的
3. IDE部署
3.1 部署准备
-
热部署命令:
初次部署可以使用tomcat7:deploy
命令
如果已经部署过使用tomcat7:redeploy
命令
部署跳过测试:tomcat7:redeploy -DskipTests
由于此方式是替换掉webapps下的ROOT文件夹,已存在,所以使用命令tomcat7:redeploy
3.2 执行命令
- 控制台日志输出:
- 浏览器访问
访问成功!
总结
到此,Spring项目在Tomcat的热部署就完成了,希望我的文章对你有所帮助