maven项目热部署到远程tomcat

一、 远程服务器下载tomcat(tomcat依赖jdk, 自行百度下载)

  1. 先到tomcat官网https://tomcat.apache.org/download-80.cgi查看下载路径:
    在下图core下tar.gz上,复制链接地址
    在这里插入图片描述
  2. 下载tomcat
yum install -y wget
wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz
  1. 解压并启动
tar -zxvf apache-tomcat-8.5.37.tar.gz
./bin/startup.sh
  1. linux添加端口开放
参考 https://blog.csdn.net/qq_41622739/article/details/106310418
  1. 在本地访问服务器上的tomcat,可以访问到,即配置成功。

二、 配置Tomcat Manager用户权限

  1. Tomcat Manager是Tomcat自带的、用于对Tomcat自身以及部署在Tomcat上的应用进行管理的Web应用。
    在默认情况下,Tomcat Manager是处于禁用状态的。准确的说,Tomcat Mnager需要以用户角色进行登录并授权才能使用相应的功能,不过Tomcat并没有配置任何默认的用户,因此需要我们进行相应的用户配置之后才能使用Tomcat Manager。
  2. Tomcat Manager的配置文件路径在 tomcat目录/conf/tomcat-users.xml 文件中
    默认情况下在标签中的内容是被注释掉的,从注释内容我们可以看出来 在这里配置用户和权限,并且注释中也有明确的例子:
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/><user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>

role 标签表示权限 rolename 表示权限名称。
user 标签表示用户 username属性表示用户名称,password表示登录的密码,role表示相对应的权限。
这边分别列出几个tomcat-users中的4种权限的介绍:
(1)manager-gui:允许访问HTML接口,也就是允许该用户访问manager的html页面
(2)manager-script:允许访问纯文本接口,也就是允许对tomcat进行脚本操作(maven的插件就需要用到这个权限)
(3)manager-imx:允许访问JMX代理接口
(4)manager-status:允许访问Tomcat只读状态页面
那么进行一个简单的配置,在标签中加入以下内容,就可以访问tomcat的manager页面了,同时也能够进一步的使用maven来进行远程热部署了。

<role rolename="manager-gui" />
<role rolename="manager-script" />
<role rolename="admin-gui" />
<role rolename="admin-script" />
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,admin-gui,admin-script"/>

(默认访问链接为:localhost:8080/manager)
以下就是manager的界面,在这里也可以通过页面操作,对tomcat中的项目进行操作或者部署新的项目。这里就不在叙述了。

  1. 按照上述配置修改远程服务器的tomcat配置。
  2. 修改远程tomcat的访问权限
    在远程服务器的{TOMCAT_HOME}conf/Catalina/localhost/目录下创建一个manager.xml文件,配置如下内容:
<?xml version="1.0" encoding="UTF-8"?>
<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager">
     <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

注:如果只想部分用户使用,可在allow配置IP,例如

allow="192.168.0.102"
  1. 测试是否具有使用权限
    http://192.168.247.210:8080/manager/html

三、 配置本地maven的settings文件

  1. 在本地maven的{MAVEN_HOME}/conf/settings.xml文件中节点下添加如下内容:
<!-- 配置可以操作tomcat的用户名和密码 -->
<server>
  <id>demo</id>
  <!-- server login name -->
  <username>tomcat</username>
  <!-- server login password -->
  <password>tomcat</password>
</server>

四、 项目中配置maven的tomcat7插件

  1. 配置Tomcat插件
<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
 
    <configuration>
        <!-- 此处的名字必须和{
    
    MAVEN_HOME}/conf/settings.xml中配置的server节点的id一致-->
        <server>crocutax</server>
        <!--服务器端口号-->
        <port>8080</port>
        <!-- 项目发布的路径,默认就是tomcat/webapps目录,可以指定深层次目录,
        留"/",则默认在webapps目录下部署ROOT.war包-->
        <path></path>
        <!-- 注意tomcat7此处的url,不能随意修改,后缀必须是text,不能是html.
         如果是本地tomcat部署,用localhost和ip都可以 -->
        <url>http://localhost:8080/manager/text</url>
        <!--<url>http://117.62.110.110:8080/manager/text</url>-->
        <!--解决中文参数乱码问题-->
        <uriEncoding>UTF-8</uriEncoding>
        <update>true</update>
        <!--配置在tomcat\conf\tomcat-users.xml中定义的用户名-->
        <username>tomcat</username>
        <password>tomcat</password>
    </configuration>
</plugin>
配置说明
server : 名字必须和{
    
    MAVEN_HOME}/conf/settings.xml中配置的server节点的id一致
port : 服务器端口号
path :项目发布的路径,默认就是tomcat/webapps目录,可以指定深层次目录,留"/",则默认在webapps目录下部署ROOT.war包
url : 注意tomcat7此处的url,不能随意修改,后缀必须是text,不能是html. 如果是本地tomcat部署,用localhost和ip都可以uriEncoding :解决中文参数乱码问题
update : 热部署,否则后期会报错
username :配置{
    
    TOMCAT_HOME}\conf\tomcat-users.xml中定义的用户名
password :配置{
    
    TOMCAT_HOME}\conf\tomcat-users.xml中定义的密码

五、 idea测试

在idea命令行输入命令:

mvn tomcat7:deploy

在这里插入图片描述
至此,远程部署完成。

》》》博主长期更新学习心得,推荐点赞关注!!!
》》》若有错误之处,请在评论区留言,谢谢!!!

猜你喜欢

转载自blog.csdn.net/qq_41622739/article/details/108181343