SpringBoot应用部署指南

编程

SpringBoot应用部署指南

SpringBoot简介

Spring Boot使创建基于Spring的应用程序变得轻松,您只需要做到“just run”就能创建一个独立的、产品级别的Spring应用程序。我们为Spring平台及第三方库提供了相对固定的搭配,所以您开始的时候会轻松很多。大部分的SpringBoot应用程序都只需要很少的Spring配置。

一、环境配置

开发环境

用途

工具&版本

操作系统

Win10

打包工具

Maven 3.x

JDK

1.8.X

测试/生产环境

用途

工具&版本

操作系统

CentOS 7

打包工具

Maven 3.x

JDK

1.8.X

二、SpringBoot使用Maven打包

Java Web应用在Spring Boot之前,通常是打包成war(Web application ARchive)包,结合Tomcat来完成部署。

对于Spring Boot,Spring官方的建议是将Spring Boot应用打包成一个fat jar(Java ARchive),通过java命令来启动运行。这个fat jar会把Tomcat内置进来,所以部署时也不需要单独配置Tomcat。

maven打包命令:

$ mvn clean package -Dmaven.test.skip=true -Ptest

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 6.839 s

[INFO] Finished at: 2020-04-16T17:36:40+08:00

[INFO] Final Memory: 41M/218M

[INFO] --------------------------------------------------------------------

查看target目录下是否生了jar文件

$ ls target

pay-operation.jar

三、应用部署

  1. 上传应用包至服务器

    此处省略...

  2. 启动服务

spring.sh start 

  1. 关闭服务

spring.sh start 

  1. 重启服务

spring.sh start 

  1. spring.sh脚本

   #!/bin/bash

JAVA_OPTS="

-server

-Xmx512m

-Xms512m

-XX:MaxPermSize=256m

-XX:PermSize=128m

-XX:NewRatio=4

-XX:MaxTenuringThreshold=3

-XX:ParallelCMSThreads=4

-XX:+CMSClassUnloadingEnabled

-XX:+DisableExplicitGC

-XX:+PrintTenuringDistribution

-XX:+UseParNewGC

-XX:+UseConcMarkSweepGC

-XX:CMSFullGCsBeforeCompaction=0

-XX:+UseCMSCompactAtFullCollection

-XX:CMSInitiatingOccupancyFraction=65

-XX:+PrintHeapAtGC

-XX:+PrintGCDetails

-XX:+PrintGCTimeStamps

-XX:+PrintGCDateStamps

-Xloggc:/tmp/logs/gc.log

-XX:+HeapDumpOnOutOfMemoryError

-XX:HeapDumpPath=/tmp/logs

-Deureka.server.enable-self-preservation=false

-Dspring.profiles.active=test"

PROC_PATH="/data/"

PROC_NAME="pay-operation"

PROC_PORT=8080

PROC_LOG="${PROC_PATH}${PROC_NAME}.log"

_err_msg(){

echo -e "33[31m $@ 33[0m"

}

_info_msg(){

echo -e "33[32m $@ 33[0m"

}

# Determine whether java is installed.

command -v java > /dev/null 2>&1 || { echo >&2 "required java but it"s not installed."; exit 2; }

if [[ ! -e ${PROC_PATH}${PROC_NAME}.jar ]]; then

_err_msg "process package doesn"t exist, exit!"

exit 2

fi

start(){

PID=$(pgrep -f ${PROC_NAME})

if [[ $PID != "" ]];then

_info_msg "process is running..."

exit 1

else

nohup java ${JAVA_OPTS} -jar ${PROC_NAME}.jar >> $PROC_LOG 2>&1 &

fi

exit 0

}

stop(){

PID=$(pgrep -f ${PROC_NAME})

if [[ $PID != "" ]];then

kill -9 $PID

exit 0

else

_err_msg "process already stopped."

exit 1

fi

exit 0

}

restart(){

stop

start

exit 0

}

case $1 in

start)

start

exit 0

;;

stop)

stop

exit 0

;;

restart)

restart;;

*)

echo "Usage: $0 start|stop|restart"

exit 1

esac

exit 0

以上是 SpringBoot应用部署指南 的全部内容, 来源链接: utcz.com/z/515727.html

回到顶部