`
Jerry__xie
  • 浏览: 15777 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

spring boot微服务通用部署启动脚本

阅读更多
#!/bin/bash
#
# chkconfig:   - 20 80
# description: Starts and stops the App.
# author:vakinge

ENV=dev
RUNNING_USER=vakinge
ADATE=`date +%Y%m%d%H%M%S`
APP_NAME=passport-server

APP_HOME=`pwd`
dirname $0|grep "^/" >/dev/null
if [ $? -eq 0 ];then
   APP_HOME=`dirname $0`
else
    dirname $0|grep "^\." >/dev/null
    retval=$?
    if [ $retval -eq 0 ];then
        APP_HOME=`dirname $0|sed "s#^.#$APP_HOME#"`
    else
        APP_HOME=`dirname $0|sed "s#^#$APP_HOME/#"`
    fi
fi

if [ ! -d "$APP_HOME/logs" ];then
  mkdir $APP_HOME/logs
fi

LOG_PATH=$APP_HOME/logs/$APP_NAME.out
GC_LOG_PATH=$APP_HOME/logs/gc-$APP_NAME-$ADATE.log
#JMX监控需用到
JMX="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1091 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
#JVM参数
JVM_OPTS="-Dname=$APP_NAME -Djeesuite.configcenter.profile=$ENV -Duser.timezone=Asia/Shanghai -Xms512M -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=512M -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -Xloggc:$GC_LOG_PATH -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"

JAR_FILE=$APP_NAME.jar
pid=0
start(){
  checkpid
  if [ ! -n "$pid" ]; then
    JAVA_CMD="nohup java -jar $JVM_OPTS $JAR_FILE > $LOG_PATH 2>&1 &"
    su - $RUNNING_USER -c "$JAVA_CMD"
    echo "---------------------------------"
    echo "启动完成,按CTRL+C退出日志界面即可>>>>>"
    echo "---------------------------------"
    sleep 2s
    tail -f $LOG_PATH
  else
      echo "$APP_NAME is runing PID: $pid"   
  fi

}


status(){
   checkpid
   if [ ! -n "$pid" ]; then
     echo "$APP_NAME not runing"
   else
     echo "$APP_NAME runing PID: $pid"
   fi 
}

checkpid(){
    pid=`ps -ef |grep $JAR_FILE |grep -v grep |awk '{print $2}'`
}

stop(){
    checkpid
    if [ ! -n "$pid" ]; then
     echo "$APP_NAME not runing"
    else
      echo "$APP_NAME stop..."
      kill -9 $pid
    fi 
}

restart(){
    stop 
    sleep 1s
    start
}

case $1 in  
          start) start;;  
          stop)  stop;; 
          restart)  restart;;  
          status)  status;;   
              *)  echo "require start|stop|restart|status"  ;;  
esac 

---------------------
作者:vakinge
来源:CSDN
原文:https://blog.csdn.net/vakinge/article/details/78706679
版权声明:本文为博主原创文章,转载请附上博文链接!
分享到:
评论

相关推荐

    spring微服务fat jar部署为windows service工具包

    "spring微服务fat jar部署为windows service工具包"是一个专门为在Windows环境下运行Spring Boot微服务设计的解决方案。这个工具包包含两个关键文件:prunsrv.exe和proc_install_service.bat。 1. **prunsrv.exe**:...

    基于Springboot的二手交易平台 Javaee项目,springboot项目

    在实际的项目开发中,Spring Boot能够提供快速启动、自动配置和内置服务器等便利,使得开发者可以更专注于业务逻辑的实现,而不是底层基础设施的配置。 【标签】"spring boot"和"spring boot"表明项目的核心技术栈...

    jeecg-boot开源框架1.0-1.1官方源码.rar

    源码中可以看到Spring Boot的启动配置、自动配置、健康检查等相关组件的使用。 二、MyBatis Plus MyBatis Plus是一个MyBatis的增强工具,它在MyBatis的基础上做了很多简化,如:提供 CRUD 操作、支持自定义全局通用...

    微服务open-cloud-master.zip

    Spring Cloud是Java生态中最受欢迎的微服务框架之一,它为开发者提供了快速构建分布式系统所需的各种通用功能,如服务发现、配置管理、断路器、智能路由等。 首先,我们需要了解Spring Cloud的核心组件和服务: 1....

    idea开发的springboot+dubbo+zookeeper的简单案例,下载即可调试

    Spring Boot的核心特性包括自动配置、内嵌Web服务器(如Tomcat)以及启动脚本的支持,使得开发者可以快速创建独立运行的Spring应用程序。 接下来是Dubbo,它是阿里巴巴开源的一个高性能、轻量级的Java RPC框架。...

    RuoYi-Vue2021.rar

    《RuoYi-Vue2021:基于Spring Boot的多模块前后端分离系统实践》 RuoYi-Vue2021是一个高度可定制化的前后端分离项目,它利用了最新的技术栈,包括Spring Boot 2.2和Vue.js,为开发者提供了便捷的代码生成工具,极大...

    Eureka深入理解-代码部分.zip

    这里可能涉及到Spring Boot的起步依赖、Spring Cloud的版本管理,以及其他通用的库和插件,这些都为子项目提供了基础框架。 总的来说,这个压缩包提供了一整套Eureka实战的源码示例,涵盖了服务提供者、消费者和...

    hdw-dubbo微服务化开发平台,具有统一授权、认证后台管理系统.zip

    它可能利用了如Spring Boot Actuator这样的监控工具,提供了健康检查、指标暴露、审计日志等功能。 `docker`目录可能包含与Docker相关的配置和脚本,表明该平台支持通过Docker容器化部署,这可以提高部署的便捷性和...

    nacos-resource.zip

    - **启动服务发现**:通过注解@EnableDiscoveryClient,使Spring Boot应用成为Nacos的服务提供者或消费者。 - **动态配置**:使用@RefreshScope注解的Bean可以实现配置热更新,当Nacos中的配置发生变化时,应用会...

    单点登录源码

    Spring+SpringMVC+Mybatis框架集成公共模块,包括公共配置、MybatisGenerator扩展插件、通用BaseService、工具类等。 > zheng-admin 基于bootstrap实现的响应式Material Design风格的通用后台管理系统,`zheng`...

    基于SpringBoot搭建的通用搜索系统脚手架.zip

    5. 配置文件:如Spring Boot的application.properties或yaml文件,用于配置应用程序的行为。 6. README文件:提供项目概述、安装指南和运行说明。 在这样的项目中,开发者可能使用Elasticsearch作为搜索服务,提供...

    2021年Spring

    10. **持续集成与持续部署(CI/CD)**: Spring支持与Jenkins、GitLab CI/CD等工具集成,实现自动化构建、测试和部署,确保软件开发流程的高效和可靠。 2021年的Spring框架不仅保持了原有的强大功能,还在微服务、云...

    通用静态页面生成系统

    4. JHipster:这是一个全方位的Java开发工具,支持创建微服务架构,其中包含了静态页面生成功能,采用Angular或React作为前端框架,Spring Boot作为后端。 三、页面生成流程 1. 内容管理:用户通过管理界面输入或...

    面试篇大全.docx

    以上就是从给定文件中提取的关键知识点概述,涵盖了Java技术栈的多个方面,包括Spring Boot、多线程、Dubbo、Spring、Redis、MySQL等,以及一些通用的技术概念和面试技巧。希望这些内容能够帮助到准备面试的开发者们...

    java后端开发女手册.txt

    6. 微服务架构:理解微服务的定义、好处和挑战,学习如何使用Spring Cloud、Docker、Kubernetes等技术构建和部署微服务。 7. 消息队列与异步处理:掌握消息队列(如RabbitMQ、Kafka)的使用,以及如何在Java应用中...

    Tomcat与Java.Web开发技术详解

    5. **微服务架构**:Tomcat作为单个服务的容器,配合Spring Boot或Service Mesh(如Istio)进行微服务部署。 通过这个教程,读者将能够全面了解Tomcat在Java Web开发中的角色,掌握从基础到高级的各种技术,并了解...

    EEG数据处理云平台软件设计与实现

    SpringBoot可以方便地与其他开源框架集成,如Spring Security加强安全性,Spring Data简化数据访问,Spring Cloud提供微服务架构支持。 8. 云部署与扩展性: 为了适应大规模数据处理和高并发需求,平台设计应考虑...

    开发文档.docx

    - **Spring Cloud**: 是一系列框架的有序集合,用于快速构建一些常见的微服务架构模式,如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态等。...

    Java项目如何与Node.js共存?.zip

    其JVM(Java虚拟机)提供了跨平台兼容性,并且有丰富的库和框架,如Spring Boot和Hibernate,支持复杂业务逻辑的处理。而Node.js基于V8引擎,运行JavaScript,它的单线程事件驱动模型使得它在处理高并发I/O密集型...

    templates:一组通用模板,以避免记住无用的配置设置

    在Java中,模板可能包括各种类型的项目结构、配置文件、类模板等,例如Maven或Gradle的构建脚本、Spring Boot的初始项目结构、JUnit测试模板等。 “Java”标签明确了这些模板是专门为Java开发者设计的。Java作为一...

Global site tag (gtag.js) - Google Analytics