微服务启动和停止脚本

在项目微服务后,微服务的运行和停止是必须要脚本话的,脚本要尽可能通用。而且微服务的项目结构和项目运行目录要服务定义的标准。

#!/bin/sh

## java env
export JAVA_HOME=/usr/local/jvm/jdk1.8.131
export JRE_HOME=$JAVA_HOME/jre

## service name

APP_NAME=user

SERVICE_DIR=/www/ididiao/service/$APP_NAME
SERVICE_NAME=ididiao-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
		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,kill 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

 

转载于:https://my.oschina.net/liuyuantao/blog/1486975

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java微服务开发中,我们通常需要在多个环境(比如开发环境、测试环境、生产环境)中启动停止微服务。为了方便管理,我们可以编写一些脚本来完成这些操作。下面是一个简单的示例,演示如何编写Java微服务的多个环境启停脚本。 1. 创建目录结构 我们首先需要创建一个目录结构,用于存放脚本和相关配置文件。假设我们的Java微服务名称为"my-service",我们可以按照以下结构创建目录: ``` my-service/ ├── bin/ │ ├── start-dev.sh │ ├── stop-dev.sh │ ├── start-test.sh │ ├── stop-test.sh │ ├── start-prod.sh │ └── stop-prod.sh ├── conf/ │ ├── dev.properties │ ├── test.properties │ └── prod.properties └── lib/ ├── my-service.jar ├── dependency1.jar └── dependency2.jar ``` 其中,bin目录用于存放启停脚本,conf目录用于存放每个环境的配置文件,lib目录用于存放微服务及其依赖的jar包。 2. 编写启停脚本 接下来,我们需要编写每个环境的启停脚本。以开发环境为例,我们可以创建一个名为start-dev.sh的脚本,内容如下: ```bash #!/bin/bash # 设置环境变量 export ENV=dev # 加载配置文件 source ../conf/$ENV.properties # 启动命令 java -jar ../lib/my-service.jar --server.port=$PORT --spring.profiles.active=$ENV & ``` 这个脚本的作用是设置环境变量,加载配置文件,然后使用java命令启动微服务。其中,$PORT和$ENV分别为配置文件中的端口号和环境名称,可以根据需要修改。 类似地,我们还需要编写stop-dev.sh脚本,用于停止开发环境的微服务。其内容如下: ```bash #!/bin/bash # 查找正在运行的进程并杀死 ps -ef | grep my-service.jar | grep $ENV | awk '{print $2}' | xargs kill -9 ``` 这个脚本的作用是查找正在运行的微服务进程,并杀死它们。 3. 创建配置文件 接下来,我们需要创建每个环境的配置文件。以开发环境为例,我们可以创建一个名为dev.properties的文件,内容如下: ```properties # 端口号 PORT=8080 # 数据库配置 DB_HOST=localhost DB_PORT=3306 DB_NAME=mydb DB_USERNAME=root DB_PASSWORD=123456 ``` 在实际使用中,可以根据需要添加或修改配置项。 类似地,我们还需要创建test.properties和prod.properties文件,用于测试环境和生产环境的配置。 4. 启动停止微服务 最后,我们可以使用以下命令来启动停止微服务: ```bash # 启动开发环境微服务 cd bin/ ./start-dev.sh # 停止开发环境微服务 cd bin/ ./stop-dev.sh ``` 类似地,我们还可以使用start-test.sh、stop-test.sh、start-prod.sh和stop-prod.sh来启动停止测试环境和生产环境的微服务。 总结 以上就是一个简单的Java微服务多个环境启停脚本的示例。在实际使用中,我们可以根据需要添加或修改脚本和配置文件,以适应不同的开发场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值