#!/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工具包"是一个专门为在Windows环境下运行Spring Boot微服务设计的解决方案。这个工具包包含两个关键文件:prunsrv.exe和proc_install_service.bat。 1. **prunsrv.exe**:...
在实际的项目开发中,Spring Boot能够提供快速启动、自动配置和内置服务器等便利,使得开发者可以更专注于业务逻辑的实现,而不是底层基础设施的配置。 【标签】"spring boot"和"spring boot"表明项目的核心技术栈...
源码中可以看到Spring Boot的启动配置、自动配置、健康检查等相关组件的使用。 二、MyBatis Plus MyBatis Plus是一个MyBatis的增强工具,它在MyBatis的基础上做了很多简化,如:提供 CRUD 操作、支持自定义全局通用...
Spring Cloud是Java生态中最受欢迎的微服务框架之一,它为开发者提供了快速构建分布式系统所需的各种通用功能,如服务发现、配置管理、断路器、智能路由等。 首先,我们需要了解Spring Cloud的核心组件和服务: 1....
Spring Boot的核心特性包括自动配置、内嵌Web服务器(如Tomcat)以及启动脚本的支持,使得开发者可以快速创建独立运行的Spring应用程序。 接下来是Dubbo,它是阿里巴巴开源的一个高性能、轻量级的Java RPC框架。...
《RuoYi-Vue2021:基于Spring Boot的多模块前后端分离系统实践》 RuoYi-Vue2021是一个高度可定制化的前后端分离项目,它利用了最新的技术栈,包括Spring Boot 2.2和Vue.js,为开发者提供了便捷的代码生成工具,极大...
这里可能涉及到Spring Boot的起步依赖、Spring Cloud的版本管理,以及其他通用的库和插件,这些都为子项目提供了基础框架。 总的来说,这个压缩包提供了一整套Eureka实战的源码示例,涵盖了服务提供者、消费者和...
它可能利用了如Spring Boot Actuator这样的监控工具,提供了健康检查、指标暴露、审计日志等功能。 `docker`目录可能包含与Docker相关的配置和脚本,表明该平台支持通过Docker容器化部署,这可以提高部署的便捷性和...
- **启动服务发现**:通过注解@EnableDiscoveryClient,使Spring Boot应用成为Nacos的服务提供者或消费者。 - **动态配置**:使用@RefreshScope注解的Bean可以实现配置热更新,当Nacos中的配置发生变化时,应用会...
Spring+SpringMVC+Mybatis框架集成公共模块,包括公共配置、MybatisGenerator扩展插件、通用BaseService、工具类等。 > zheng-admin 基于bootstrap实现的响应式Material Design风格的通用后台管理系统,`zheng`...
5. 配置文件:如Spring Boot的application.properties或yaml文件,用于配置应用程序的行为。 6. README文件:提供项目概述、安装指南和运行说明。 在这样的项目中,开发者可能使用Elasticsearch作为搜索服务,提供...
10. **持续集成与持续部署(CI/CD)**: Spring支持与Jenkins、GitLab CI/CD等工具集成,实现自动化构建、测试和部署,确保软件开发流程的高效和可靠。 2021年的Spring框架不仅保持了原有的强大功能,还在微服务、云...
4. JHipster:这是一个全方位的Java开发工具,支持创建微服务架构,其中包含了静态页面生成功能,采用Angular或React作为前端框架,Spring Boot作为后端。 三、页面生成流程 1. 内容管理:用户通过管理界面输入或...
以上就是从给定文件中提取的关键知识点概述,涵盖了Java技术栈的多个方面,包括Spring Boot、多线程、Dubbo、Spring、Redis、MySQL等,以及一些通用的技术概念和面试技巧。希望这些内容能够帮助到准备面试的开发者们...
6. 微服务架构:理解微服务的定义、好处和挑战,学习如何使用Spring Cloud、Docker、Kubernetes等技术构建和部署微服务。 7. 消息队列与异步处理:掌握消息队列(如RabbitMQ、Kafka)的使用,以及如何在Java应用中...
5. **微服务架构**:Tomcat作为单个服务的容器,配合Spring Boot或Service Mesh(如Istio)进行微服务部署。 通过这个教程,读者将能够全面了解Tomcat在Java Web开发中的角色,掌握从基础到高级的各种技术,并了解...
SpringBoot可以方便地与其他开源框架集成,如Spring Security加强安全性,Spring Data简化数据访问,Spring Cloud提供微服务架构支持。 8. 云部署与扩展性: 为了适应大规模数据处理和高并发需求,平台设计应考虑...
- **Spring Cloud**: 是一系列框架的有序集合,用于快速构建一些常见的微服务架构模式,如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态等。...
其JVM(Java虚拟机)提供了跨平台兼容性,并且有丰富的库和框架,如Spring Boot和Hibernate,支持复杂业务逻辑的处理。而Node.js基于V8引擎,运行JavaScript,它的单线程事件驱动模型使得它在处理高并发I/O密集型...
在Java中,模板可能包括各种类型的项目结构、配置文件、类模板等,例如Maven或Gradle的构建脚本、Spring Boot的初始项目结构、JUnit测试模板等。 “Java”标签明确了这些模板是专门为Java开发者设计的。Java作为一...