当生成jar包把所有的依赖都往linux上部署完之后,就可以启动dubbo服务了,当然这个前提是java的linux环境要部署好。
dubbo服务的启动很简单,如果只是少量的服务接口的时候,手工就可以进行服务的维护
维护的命令如下:
java -jar xxx.jar &
kill PID
kill -9 PID
但是我们使用dubbo这个框架的时候,一般服务就是很多很多的,如果每个服务都手工去维护的话,这个工作就太繁琐了,所以我们需要自定义的shell进行对服务的维护。直接实现对脚本 start,stop 和restart
下面贴出一个shell实例,以供参考
- #!/bin/sh
- ## java env
- export JAVA_HOME=/usr/local/java/jdk1.7.0_72
- export JRE_HOME=$JAVA_HOME/jre
- ## service name
- APP_NAME=user
- SERVICE_DIR=/home/li/test/service/$APP_NAME
- SERVICE_NAME=test-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
- ##
- ## test-service-aa.jar
- ## test-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