dubbo基础篇三_linux部署dubbo服务以及shell脚本编写

本文介绍了在Linux环境下如何规范部署Dubbo服务,强调了服务分级管理的重要性。内容包括手动启动Dubbo服务的步骤(使用`java -jar *.jar 名称 &`)以及编写和维护Shell脚本的注意事项,特别提示在编写脚本时应确保全匹配以避免线程误杀。不过,关于Shell脚本的具体编写代码将在后续内容中展开。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 部署目录规范
    1. 对dubbo服务进行良好的分级管理.
    2. 如图所示 这里写图片描述
  2. linux手动启动dubbo服务, java -jar *.jar 名称 &
  3. 编写shell脚本
    1. 维护脚本注意事项
    2. 这里写图片描述
      1. 避免线程误杀,需要进行全匹配 比如 grep -w (全匹配)
    3. 太晚了,shell编写待续…
      1. shell编写代码
#!/bin/sh

## 定义一些使用变量
# 定义环境变量
export JAVA_HOME=/usr/local/jdk/bin
# 服务模块名称
APP_NAME=user
# 服务存储目录
SERVICE_DIR=/dubbo/edu/service/$APP_NAME
# 服务名称
SERVICE_NAME=edu-service-$APP_NAME
# 服务jar名称
JAR_NAME=$SERVICE_NAME\.jar
# 服务启动后的PID
PID=$SERVICE_NAME\.pid

# 开始执行命令
# 进入该目录
cd $SERVICE_DIR

# $1 -> 表示用户输入的数据
case "$1" in
    # 启动服务
    start)
        # nohup表示以守护线程启动该服务, >/del/null 表示将日志打印到黑洞中 &也是在表示以守护线程启动
        nohup /usr/local/jdk/bin/java -Xms256m -Xmx512m -jar $JAR_NAME > /dev/null 2>&1 &
        # 将启动后的该服务线程PID写到.pid文件中,以便stop时使用
        echo $! > $SERVICE_DIR/$PID
        echo "=== start $SERVICE_NAME"
        ;;

    stop)
        # kill 优雅关闭该线程
        kill `cat $SERVICE_DIR/$PID`
        # 移除目录下的 .pid文件
        rm -rf $SERVICE_DIR/$PID
        echo "=== stop $SERVICE_NAME"
        # 线程睡眠五秒,然后如果该服务没有关闭,则强行关闭
        sleep 5
        # grep -w 表示全面匹配, grep -v 表示过滤掉带有grep数据的该行数据 awk是对数据处理的一个工具
        # awk 格式为 awk(条件){执行体}. $2表示过滤后的第二条数据,既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 pid is:$P_ID"
            echo "=== begin kill"
            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 n 表示退出该执行 , n表示成功返回码
exit 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值