文档章节

Dubbo服务的部署

longload
 longload
发布于 2016/07/25 17:22
字数 473
阅读 96
收藏 3

部署规范示例

    一般以项目/模块/提供的服务。脚本命名规范一般为

    /home/wusc/edu/service/xxx/service-xxx.sh

 

 

 

 

 

 

 

 

 

dubbo通用shell维护脚本

    nohup:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂断的意思( no hang up)。守护进程。

    /dev/null :表示不再lunix系统输出日志(nohup.out),由jar集成的输出日志。将日志输出到地方

    脚本待改进:sleep 时间可能不够,可以改进成监听等待。如果Pid不为空,可以继续sleep然后判断,直到完成。或者设置一个最大等待时间当大于这个时间后强制kill -9

grep -w :表示是全匹配。如果不加的时候,例如 有 zjpt-service-aa.jar 与  zipt-service-aa-bb.jar在kill zjpt-service-aa.jar 的时候可能会误杀掉 zipt-service-aa-bb.jar

#!/bin/sh

## java env
export JAVA_HOME=/usr/local/java/jdk1.7.0_72
export JRE_HOME=$JAVA_HOME/jre

## service name,replace 
APP_NAME=user

SERVICE_DIR=/home/longload/zjpt/service/$APP_NAME
## jar name
SERVICE_NAME=zjpt-service-$APP_NAME
JAR_NAME=$SERVICE_NAME\.jar
PID=$SERVICE_NAME\.pid

cd $SERVICE_DIR

#wait input param
case "$1" in

    start)
        nohup $JRE_HOME/bin/java -Xms256m -Xmx512m -jar $JAR_NAME >/dev/null 2>&1 &
        echo $! > $SERVICE_DIR/$PID
        echo "=== start $SERVICE_NAME"
        ;;

    stop)
        kill `cat $SERVICE_DIR/$PID`
        rm -rf $SERVICE_DIR/$PID
        echo "=== stop $SERVICE_NAME"

        sleep 5		
	
        ## get pid
        P_ID=`ps -ef | grep -w "$SERVICE_NAME" | grep -v "grep" | awk '{print $2}'`
        if [ "$P_ID" == "" ]; then
            echo "=== $SERVICE_NAME process not exists or stop success"
        else
            echo "=== $SERVICE_NAME process pid is:$P_ID"
            echo "=== begin kill $SERVICE_NAME process, pid is:$P_ID"
            kill -9 $P_ID
        fi
        ;;

    restart)
        $0 stop
        sleep 2
        $0 start
        echo "=== restart $SERVICE_NAME"
        ;;

    *)
        ## restart
        $0 stop
        sleep 2
        $0 start
        ;;

esac
exit 0

    使用下面命令来启停

. /service-user.sh start
. /service-user.sh stop
. /service-user.sh restart

  更完善的配置可以参考官网:

   下载地址http://pan.baidu.com/s/1kV74Xp1

© 著作权归作者所有

共有 人打赏支持
longload
粉丝 3
博文 66
码字总数 104702
作品 0
成都
程序员
私信 提问
dubbox Web管理部署

前言:使用dubbo rpc远程调用,对于开发者或运维来说需要监控服务或者服务治理,所以需要搭建一些dubbo监控程序。 1.部署dubbo-admin 先clone git地址: dubbo地址或者dubbox地址 :https://g...

王念博客
2016/04/29
1K
3
zookeeper+dubbo分布式环境搭建部署记录

最近在公司用到阿里的dubbo做RPC分布式服务化,记录一下项目服务环境搭建的一些过程,方便后来的同行可以少走些弯路,欢迎大家一起交流分享。 一、环境准备 6台机器如下: 用到的软件如下: ...

xiejunbo
2016/09/23
0
2
跟我学习dubbo-Dubbo管理控制台的安装(3)

Dubbo管理控制台的安装 1、Dubbo管理控制台的主要作用:服务治理 2、管理控制台主要包含: 路由规则 动态配置 服务降级 访问控制 权重调整 负载均衡等管理功能 3、管理控制台版本: 当前稳定...

HI曲奇饼干
2016/01/05
1K
3
亲测 | 如何更高效的管理 Dubbo 和 Spring Cloud 应用

阿里云分布式应用服务EDAS 最近发布了支持原生Dubbo和Spring Cloud应用功能的新版本,此功能是以非侵入方式支持的,且几乎不需要修改任何代码。在此我们体验了一下如何在EDAS上部署原生Dubbo...

中间件小哥
2018/12/19
0
0
分布式服务-DUBBOX(二):dubbo-amdin、dubbo-monitor-simple使用

1、本章内容 会用到Zookeeper(对服务注册和发现)、dubbo-admin、dubbo-monitor-simple部署 2、Zookeeper 在conf/zoo.cfg,其配置默认端口clientPort=2181。 在bin/zkServer.cmd,启动服务。...

warlockssss
2016/11/28
90
0

没有更多内容

加载失败,请刷新页面

加载更多

Confluence 6 升级中的一些常见问题

升级的时候遇到了问题了吗? 如果你想尝试重新进行升级的话,你需要首先重新恢复老的备份。不要尝试再次对 Confluence 进行升级或者在升级失败后重新启动老的 Confluence。 在升级过程中的一...

honeymoose
今天
2
0
C++随笔(四)Nuget打包

首先把自己编译好的包全部准备到一个文件夹 像这样 接下来新建一个文本文档,后缀名叫.nuspec 填写内容 <?xml version="1.0"?><package xmlns="http://schemas.microsoft.com/packaging/201......

Pulsar-V
今天
2
0
再谈使用开源软件搭建数据分析平台

三年前,我写了这篇博客使用开源软件快速搭建数据分析平台, 当时收到了许多的反馈,有50个点赞和300+的收藏。到现在我还能收到一些关于dataplay2的问题。在过去的三年,开源社区和新技术的发...

naughty
今天
7
0
Python3的日期和时间

python 中处理日期时间数据通常使用datetime和time库 因为这两个库中的一些功能有些重复,所以,首先我们来比较一下这两个库的区别,这可以帮助我们在适当的情况下时候合适的库。 在Python文...

编程老陆
今天
2
0
分布式面试整理

并发和并行 并行是两个任务同时进行,而并发呢,则是一会做一个任务一会又切换做另一个任务。 临界区 临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用,但是每一次,只能有...

群星纪元
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部