从源码打包dubbo-admin并发布到linux全教学

无论是做dubbo的单机服务治理还是集群治理,安装dubbo-admin管理控制平台是必须的。

1.但市面上大多教学比较年代久远,或者不清不楚,例如市面上大多的推荐的dubbo源码地址并没有dubbo-admin子项目(或叙许是新版该名称了,但笔者翻了好久,没找到像dubbo-admin的子项目),一度想花积分买个别人的打包好的war包,但忍住了,不过后来的教训证明,你就算下载了别人的war包也有可能不能用,除非你linux上一直用jdk6或者更低(所以,千万不要下载别人的war包,因为那样不确保他打包之前的适应jdk版本是多少,万一是低版本就恶心了,那时你还得下载源码)多番周折,还是有人给的地址里有这个子项目如下https://github.com/dangdangdotcom/dubbox

截图如下


2.下载好之后就该打包源码了,这源码的结构是分模块的搭建方式,好多人不知道怎么打包,因为它的pom并不是集中的,笔者采用打包所有项目,然后找我们需要的子项目也就是dubbo-admin的war包的方式(笔者能力有限,这种方式简单点)。但是笔者一开始直接打包,然后在本地window的tomcat上跑能跑起来,但是在linux上就跑不起来,报错初始化失败,多番研究查阅,发现是这个源码的多个依赖需要的版本太低,我们2018年早已经没人用那些版本了,修改依赖如下:

2.1为了确保我们更新后的jar包依赖能确实打包进入lib依赖加载进去,我们把源码拉进eclipse进行修改,导入时注意用如下方式导入,导入后可以发现如下这么多项目。


2.2仔细找就会发现这么多子项目有一个父类,如下

在dubbo-admin的pom里修改dubbo的依赖成这样以排除旧版本spring

<dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>dubbo</artifactId>
        <version>${project.parent.version}</version>
        <exclusions>
            <exclusion>
                <groupId>org.springframework</groupId>
                <artifactId>spring</artifactId>
            </exclusion>
        </exclusions>
</dependency>
继续在dubbo-admin添加如下,如果发现版本一行变黄,则删除其父pom的如下同名配置,然后确保父类中没有如下配置
<dependency>
			<groupId>com.alibaba.citrus</groupId>
			<artifactId>citrus-webx-all</artifactId>
				<version>3.1.6</version>
		</dependency>
<dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity</artifactId>
        <version>1.7</version>
</dependency>
webx已有spring3以上的依赖,因此注释掉dubbo-admin里面的spring依赖,如果在dubbo-admin里找不带如下依赖,则不用加
<!--<dependency>-->
        <!--<groupId>org.springframework</groupId>-->
        <!--<artifactId>spring</artifactId>-->
<!--</dependency>-->

都改好之后点击父项目maven updade 以加载新jar包依赖,完了之后打开本地dubbo-admin子项目的本地目录的target\dubbo-admin-2.8.4\WEB-INF\lib目录,查看

citrus-webx-all依赖版本是否是3.1.6.如果是则修改完毕

3.进入如下主目录


3.1进入cmd,进入你的此目录,然后输入mvn install -Dmaven.test.skip=true命令等待,耐心等待,时间较长,出现success则成功,

4.进入dubbo-admin的target目录找到war包,此刻便得到了我们想要的,该名称为dubbo.war 方便输入

5.确保你linux上jdk安装的是1.8系列(以上不支持,以下不方便你自己的其他程序)

6.确保linux上java环境变量配好,java -version测试成功则配好了,

7.把war包扔进webapps后如果自动解压则进入WEB-INF下的dubbo.properties修改如下:

填上你自己的服务器ip

8.确保你linux开放端口2182,不行就关闭防火墙

service iptables stop             关闭防火墙
/bin/systemctl status/start/stop firewalld     centos7以上关闭防火墙

9.开启tomcat之前确保dubbo服务开启,开启方法自行百度,网上方法基本对

10.修改tomcat的端口,因为dubbo或占用8080,必须把tomcat修改成其他

11在确保你开启了dubbo服务,防火墙也没问题了,安全组也有这些特定端口开放,然后重启tomcat,因为tomcat大都没法一次性关闭,用如下代码重启tomcat

ps  -ef | grep tomcat    查看tomcat进程
kill -9 4474545    杀死进程
./startup.sh    启动tomcat(要先进入bin)

然后就可以用了,




  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值