1、上传jar至服务器

 将打包好的jar包上传,我这上传到/edu/service/user

    学习dubbo(六):部署dubbo服务_dubbo

2、使用java命令启动

    java -jar edu-service-user.jar &

学习dubbo(六):部署dubbo服务_dubbo_02

3、查看管控台

学习dubbo(六):部署dubbo服务_shell_03

如上,OK启动成功了



自定义dubbo服务维护的shell脚本

    脚本命名规范:/edu/service/xxx/service-xxx.sh

    脚本命名,如:/edu/service/user/service-user.sh

效果:

  cd /edu/service/user

  ./service-user.sh start

  ./service-user.sh stop

  ./service-user.sh restart

2.1 服务维护注意事项(结合自定义的Shell脚本)

 (1)脚本规范 ----- 尽可能通用

 (2)守护进程

 (3)内存调优设置 ----按需调整

 (4)日志处理 ------只保留应用Log4J输出的日志

 (5)避免服务冲突 ------进程名、端口

 (6)避免进程误杀 -----全匹配


2.2 给service-user.sh赋予可执行的权限

   [root@localhost user]# chmod a+x service-user.sh

2.3 执行

./service-user.sh start

2.4 shell代码

#!/bin/sh

## java env
export JAVA_HOME=/home/jdk1.7.0_71
export JRE_HOME=$JAVA_HOME/jre

## service name
APP_NAME=user

SERVICE_DIR=/edu/service/$APP_NAME
SERVICE_NAME=edu-service-$APP_NAME
JAR_NAME=$SERVICE_NAME\.jar
PID=$SERVICE_NAME\.pid

cd $SERVICE_DIR

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
		##
		## edu-service-aa.jar
		## edu-service-aa-bb.jar
        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