一、 远程服务器下载tomcat(tomcat依赖jdk, 自行百度下载)
- 先到tomcat官网https://tomcat.apache.org/download-80.cgi查看下载路径:
在下图core下tar.gz上,复制链接地址
- 下载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
- 解压并启动
tar -zxvf apache-tomcat-8.5.37.tar.gz
./bin/startup.sh
- linux添加端口开放
参考 https://blog.csdn.net/qq_41622739/article/details/106310418
- 在本地访问服务器上的tomcat,可以访问到,即配置成功。
二、 配置Tomcat Manager用户权限
- Tomcat Manager是Tomcat自带的、用于对Tomcat自身以及部署在Tomcat上的应用进行管理的Web应用。
在默认情况下,Tomcat Manager是处于禁用状态的。准确的说,Tomcat Mnager需要以用户角色进行登录并授权才能使用相应的功能,不过Tomcat并没有配置任何默认的用户,因此需要我们进行相应的用户配置之后才能使用Tomcat Manager。 - 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中的项目进行操作或者部署新的项目。这里就不在叙述了。
- 按照上述配置修改远程服务器的tomcat配置。
- 修改远程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"
- 测试是否具有使用权限
http://192.168.247.210:8080/manager/html
三、 配置本地maven的settings文件
- 在本地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插件
- 配置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
至此,远程部署完成。
》》》博主长期更新学习心得,推荐点赞关注!!!
》》》若有错误之处,请在评论区留言,谢谢!!!