基于Dubbo的分布式系统架构(五):在Linux操作系统上手工部署Dubbo服务

os环境:centos6.5

1、环境变量配置

Java环境变量----只需要JRE
# vi /etc/profile
## java env
export  JAVA_HOME=/usr/local/java/jdk1.7.0_72
export  JRE_HOME=$JAVA_HOME/jre
export  CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/li/tools.jar:$JRE_HOME/lib/rt.jar
export  PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

# source /etc/profile


2、部署目录规范

先在windows上把目录配置好,然后移动到linux上

把打好的jar包上传到服务器的/myserv目录下

如何打包,请参考【http://blog.csdn.net/wx5040257/article/details/77624886】


3、手工维护Dubbo服务

可以不写任何脚本,手工启动,手工杀进程

java -jar edu-service-xxx.jar &
kill PID
kill -9 PID
4、自定义Dubbo服务维护的Shell脚本

当然最好是自定义运行脚本,如下所示:

#!/bin/sh

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

## service name
APP_NAME=user

SERVICE_DIR=/myserv/$APP_NAME
SERVICE_NAME=smmvc-$APP_NAME-service
JAR_NAME=$SERVICE_NAME\.jar
PID=$SERVICE_NAME\.pid
DATESTR=`date +%Y%m%d_%H%M%S`
LOGDIR=/myserv/logs
LOGFILE=$LOGDIR/$APP_NAME-$DATESTR\.log

if [ ! -d "$LOGDIR" ]; then
    mkdir -p "$LOGDIR"
fi

cd $SERVICE_DIR

case "$1" in

    start)
        nohup $JRE_HOME/bin/java -Xms128m -Xmx256m -jar $JAR_NAME >$LOGFILE 2>&1 &
        echo $! > $SERVICE_DIR/$PID
	sleep 3
        echo "=== start $SERVICE_NAME"
        ;;

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

        sleep 3
		
        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

把目录添加到环境变量path里面,如下所示:

# vi /etc/profile
## java env

#......
PATH=$PATH:/myserv
export PATH

# source /etc/profile

然后我们就可以在任意目录启动停止重启dubbo服务了,例如:

#service-user.sh  start

#service-user.sh  stop

#service-user.sh  restart

服务日志会自动定位到/myserv/logs目录下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

御前两把刀刀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值