前言
本文主要给大家介绍了关于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://stackoverflow.com/que...
https://stackoverflow.com/que...
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。
原文链接:https://segmentfault.com/a/1190000012119439