springboot基础总结以及Java系统部署脚本使用

springboot学习比较总结:https://pan.baidu.com/s/1dYwvpk

Java系统部署脚本:

当想把程序放到后台运行:    nohup ./your_command &

部署Java:

1. 在eclipse上使用maven打包项目:clean package

2. 找到工作目录:E:\work\mywork\ad_logsIndex\target

3. 将两个文件复制到Linux的一个目录下(我用filezilla工具来复制文件),并且写启动脚本

#!/bin/bash
 
prog=logsindex
JAVA_HOME=/usr/java/jdk1.8.0_144
prog_dir=/opt/webapps/logsindex
 
 
start() {
    echo -n $"Starting $prog: "
    cd $prog_dir
    screen -dmS $prog $JAVA_HOME/bin/java -jar -Xms2048m -Xmx4096m $prog_dir/ad_logsIndex-0.0.1-SNAPSHOT.jar com.voole.ad.main.StartUp -Djava.ext.dirs=$prog_dir/lib
    retval=$?
    echo
    [ $retval -eq 0 ]
    return $retval
}
 
stop() {
    echo -n $"Stopping $prog: "
    killproc $prog
    retval=$?
    echo
    [ $retval -eq 0 ]
    return $retval
}
 
case "$1" in
    start)
        $1
        ;;
    stop)
        $1
        ;;
    *)
        echo $"Usage: $0 {start|stop}"
        exit 2
esac

4. 修改权限:

# chmod a+x ad_logsIndex-0.0.1-SNAPSHOT.jar

# chmod a+x start.sh

5. 启动

[[email protected] logsindex]# ./start.sh start

Starting logsindex:

6. 停止服务

方法一:

[[email protected] logsindex]# ./start.sh stop

注意:logsindex名称是在脚本中(prog=logsindex)配置的

方法二:

# ps -ef | grep logsindex

然后通过kill命令+进程号切断进程。

方法三:

# screen  -r  logsindex

Ctrl+A+D:退出但不停止进程

Ctrl+C :退出进程

另外见过的脚本:

#!/bin/sh

## chang here
SERVICE_DIR=/roncoo/spring-boot-demo
SERVICE_NAME=spring-boot-demo-31-1-0.0.1-SNAPSHOT
SPRING_PROFILES_ACTIVE=dev

## java env
export JAVA_HOME=/opt/jdk1.7.0_79
export JRE_HOME=${JAVA_HOME}/jre

case "$1" in 
	start)
		procedure=`ps -ef | grep -w "${SERVICE_NAME}" |grep -w "java"| grep -v "grep" | awk '{print $2}'`
		if [ "${procedure}" = "" ];
		then
			echo "start ..."
			if [ "$2" != "" ];
			then
				SPRING_PROFILES_ACTIVE=$2
			fi
			echo "spring.profiles.active=${SPRING_PROFILES_ACTIVE}"
			exec nohup ${JRE_HOME}/bin/java -Xms128m -Xmx512m -jar ${SERVICE_DIR}/${SERVICE_NAME}\.jar --spring.profiles.active=${SPRING_PROFILES_ACTIVE} >/dev/null 2>&1 &
			echo "start success"
		else
			echo "${SERVICE_NAME} is start"
		fi
		;;

	stop)
		procedure=`ps -ef | grep -w "${SERVICE_NAME}" |grep -w "java"| grep -v "grep" | awk '{print $2}'`
		if [ "${procedure}" = "" ];
		then
			echo "${SERVICE_NAME} is stop"
		else
			kill -9 ${procedure}
			sleep 1
			argprocedure=`ps -ef | grep -w "${SERVICE_NAME}" |grep -w "java"| grep -v "grep" | awk '{print $2}'`
			if [ "${argprocedure}" = "" ];
			then
				echo "${SERVICE_NAME} stop success"
			else
				kill -9 ${argprocedure}
				echo "${SERVICE_NAME} stop error"
			fi
		fi
		;;

	restart)
		$0 stop
		sleep 1
		$0 start $2
		;;  

	*)
		echo "usage: $0 [start|stop|restart] [dev|test|prod]"
		;;  
esac

原文地址:http://blog.51cto.com/qinbin/2067361

时间: 2024-07-31 08:42:47

springboot基础总结以及Java系统部署脚本使用的相关文章

linux服务器批量部署应用系统shell脚本(Tomcat/jetty)

linux服务器批量部署应用系统shell脚本: 1.请更换代码内的服务器地址(Tomcat或jetty服务器) serverRoot=/home/undoner/java_tool/apache-tomcat-7.0.61 serverDir=/home/undoner/java_tool/apache-tomcat-7.0.61/webapps 2.请更换工程所属配置文件名称 /WEB-INF/classes/install.properties 3.请将war包上传至本命令同级的目录,执行

Java web项目在linux环境下自动编译和部署脚本

自动编译脚本 build.sh, 放置在项目根目录下. #!/bin/bash # check args # init path CURRPATH=`pwd` LIBDIR="$CURRPATH/WebContent/WEB-INF/lib" SRC="$CURRPATH/src" CLASS="$CURRPATH/WebContent/WEB-INF/classes" if [ -a $CLASS ]; then rm -rf $CLASS/*

java B2B2C 源码 多级分销Springboot多租户电子商城系统-docker-feign配置(五)

简介 上一节我们讨论了怎么用feign声明式调用cloud的生产者,这节我们讨论一下feign配置,通过编写配置类,我们可以自定义feign的日志级别,日志扫描目录,可以通过feign调用服务在eureka上的调用信息 feign声明接口之后,在代码中通过@Resource或者@Autowired注入之后即可使用. @FeignClient标签的常用属性如下: name:指定FeignClient的名称,如果项目使用了Ribbon,name属性会作为微服务的名称,用于服务发现 url: url一

JAVA springboot微服务b2b2c电子商务系统-springboot集成swagger2,构建优雅的Restful API(十一)

swagger,中文"拽"的意思.它是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅,而且还提供了在线文档的测试.另外swagger很容易构建restful风格的api,简单优雅帅气,正如它的名字. 一.引入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <vers

spring-boot项目的docker集成化部署(一)

目录 spring-boot项目的docker集成化部署 前言 基本思路与方案 基本步骤 准备源码 服务器和基础环境 结语 1. 本文总结: 2. 后期优化: spring-boot项目的docker集成化部署 前言 据说流行的微服务和docker一起,更配哦!接下来,使用简单spring-boot项目演示docker的集成化部署的案例,在看过微笑的博客觉得不过瘾,自己动手,下面的方案与Devops的方式比较接近:希望搭建理解这种思路. 基本思路与方案 开发者push到git服务器 Jenkin

SpringBoot基础学习

SpringBoot基础 回顾 JavaSE:OOP MySQL:持久化 html+css+js+jquey+框架: JavaWeb:原始MVC框架 SSM:框架,简化了开发流程,配置复杂 war:Tomcat运行 SpringBoot:内嵌tomcat,微服务架构 微服务 微服务是一种风格.要求我们在开发一个应用时,这个应用必须构建成一系列小服务的组合,可以通过http的方式进行互通 单体应用架构 指我们将一个应用中的所有应用服务器都封装在一个应用中. 无论ERP.CRM.或其他系统,都把数据

Elasticstack 5.1.2 集群日志系统部署及实践

Elasticstack 5.1.2 集群日志系统部署及实践 一.ELK Stack简介 ELK Stack 是Elasticsearch.Logstash.Kibana三个开源软件的组合,在实时数据检索和分析场合,三者通常是配合共用的. 可参考:https://www.elastic.co/products 二.Elasticstack重要组件 Elasticsearch: 准实时索引 Logtash: 收集数据,配置使用 Ruby DSL Kibana 展示数据,查询聚合,生成报表 Kafk

java项目部署Linux服务器几种启动方式总结经验

一:两种部署包: 部署之前先说下两种包,java项目部署到服务器一般有用war包的,也有用jar包的,微服务spring-cloud普及后大部分打包都是jar,部署之前先搞清楚自己要打war包还是jar包,下面小介绍两种包的区别: spring boot既可以打成war发布,也可以找成jar包发布.说一下区别: jar包:直接通过内置tomcat运行,不需要额外安装tomcat.如需修改内置tomcat的配置,只需要在spring boot的配置文件中配置.内置tomcat没有自己的日志输出,全

开源Java自动化部署平台JDeploy

JDeploy是Java + Shell实现的基于Linux系统的自动化.可视化的项目部署平台,能部署Java服务.Java Web项目,可以简化项目部署操作,无需繁琐的黑窗口SSH指令及Jenkins复杂的配置. 传统部署方式:从SVN/GIT服务器检出代码->在IDE中打包->将包传到服务器->SSH连上服务器->敲指令启动/停止 JDeploy部署:创建项目->一键部署/启动/停止 * 检出代码.打包.启动.停止等操作通过Shell脚本自动执行. 下载:http://d