前言
本文主要给大家介绍了关于maven利用tomcat插件部署远程Linux服务器的相关内容,分享出来供大家参考学习,下面话不多说了,来一看看详细的介绍吧。
环境
服务器: Ubuntu 16.04(阿里云服务器)
jdk版本:1.8
相关的maven插件:
这个插件的目的在于部署时,跳过测试
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version> 2.18 . 1 </version>
<configuration>
<skipTests> true </skipTests>
</configuration>
</plugin>
tomcat 插件
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version> 2.2 </version>
<configuration>
<path>/myweb</path>
<port> 80 </port>
<uriEncoding>UTF- 8 </uriEncoding>
<url>http: //XXXXX/manager/text</url> <!-- 这边的/manager/text 是必须的,而前面是你的主机。例如 http://localhost/manager/text -->
<username>XXXX</username> <!-- 用于远程登录的账号,后边会再说到 -->
<password>XXXX</password> <!-- 用于远程登录的密码,后边会再说到-->
<update> true </update>
</configuration>
</plugin>
|
1、首先你需要在conf/tomcat-users.xml 下创建用于远程用户
例如
1
2
3
|
<role rolename= "manager-gui" />
<role rolename= "manager-script" />
<user username= "XXXX" password= "XXXX" roles= "manager-gui,manager-script" />
|
username和password, 与上边 <username>XXXX</username> <password>XXXX</password>
对应。
2、tomcat 默认只能由同一个物理机访问,所以,如果只配了上面的,那么还是无法远程部署,会报 401 错误。需要在conf/Catalina/localhost/ 下面创建manager.xml。指定允许远程物理机的访问规则。下面给出一个模板,manager.xml 会允许任何的物理机访问
1
2
3
4
|
<Context privileged= "true" antiResourceLocking= "false"
docBase= "${catalina.home}/webapps/manager" >
<Valve className= "org.apache.catalina.valves.RemoteAddrValve" allow= "^.*$" />
</Context>
|
请注意到,<value/>节点的 allow 属性,这是一个正则表达式,用于匹配远程连接的IP。
如此就可以通过maven 来进行远程部署了
接下来,登录 http://xxxxx/manage 会弹出一个对话框,输入远程登录用户和密码即可
参考资料:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。
原文链接:https://segmentfault.com/a/1190000012119439