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 targetpay-operation.jar
三、应用部署
上传应用包至服务器
此处省略...
启动服务
spring.sh start
- 关闭服务
spring.sh start
- 重启服务
spring.sh start
- 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