首页 > 其他分享 >springboot2 生产部署注意事项【持续更新】

springboot2 生产部署注意事项【持续更新】

时间:2022-11-30 12:06:49浏览次数:48  
标签:grep NAME SERVICE 部署 stop echo start springboot2 注意事项

注意事项
1. 去除不需要的 jar
  开发工具 jar :springs-boot-devtools
2. 监控一定要做好权限制或者去除 

  控制 jar :spring-boot-starter-actuator 监控

  druid 的监控

  swagger的接口

3 打包的时候要跳过测试

  maven : clean package -Dmaven.test.skip=true

 

打包脚本示例:

#!/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

 如果有条件,用jenkins自动构建比较好

源码面前,了无秘密



标签:grep,NAME,SERVICE,部署,stop,echo,start,springboot2,注意事项
From: https://blog.51cto.com/zhenghongxin/5898193

相关文章

  • SpringBoot2 使用Spring Session集群
    有几种办法:1.扩展指定server利用Servlet容器提供的插件功能,自定义HttpSession的创建和管理策略,并通过配置的方式替换掉默认的策略。缺点:耦合Tomcat/Jetty等Servlet容器,不能......
  • SpringBoot2 web
    验证框架SpringBoot支持JSR-303,Bean等验证框架JSR-303JSR-303是Java的标准验证框架,已有实现Hibernatevalidator.JSR-303验证类型空检查@Null验证对象是否为null@Not......
  • nginx安装及部署
    下载https://nginx.org/en/download.html  Windows下安装下载后解压(切记不能含有中文路径!!) 启动两种方法:1)直接双击该目录下的"nginx.exe",即可启动nginx服务器......
  • showdoc本地部署
    ShowDoc就是一个非常适合IT团队的在线文档分享工具,使用的是一款非常轻量级的关系数据库系统SQLite,支持多数SQL92标准。它可以加快团队之间沟通的效率。但是把所有的接口文......
  • K3S +Helm+NFS最小化测试安装部署只需十分钟
    作者:郝建伟k3s简介官方文档:k3s什么是k3sk3s是一个轻量级的Kubernetes发行版它针对边缘计算、物联网等场景进行了高度优化。k3s有以下增强功能:打包为单个......
  • 合约编译和部署和测试
    1.创建合约文件点击新建文件按钮创建一个名为​​Storage.sol​​的文件注意命名规范采用大驼峰方式,文件首字母大写,合约名称要合文件名保持一直2.编写合约代码将演示代码贴......
  • ArcGIS基础:属性连接注意事项_YuanYWRS的博客
    【1】连接条件,字段类型必须相同,出现连接找不到字段的情况,这个原因就是其中之一,不能将字符串与数字的字段进行连接的。【2】其次,要保证数值完全相同,比如1.0与1就是不同的,河......
  • 用acme.sh自动部署域名证书
    用acme.sh自动部署域名证书安装ACME目前使用量最大的免费SSL证书就是Let’sEncrypt,自2018-03开始,Let’sEncrypt官方发布上线了免费的SSL泛域名证书,目前通过DNS方式获取......
  • redis集群之主从复制集群的原理和部署
    最近在复盘redis的知识,所以本文开始希望介绍下redis的集群架构、原理以及部署;本文主要介绍redis的主从复制集群,包括其架构模型,原理,高可用等;一、主从集群的介绍  redis......
  • 使用 Hypercorn HTTP/2 ASGI 部署 FastAPI
    AnotherASGIwebserverthatsupportsHTTP/2andHTTP/3specifications我已经介绍了很多关于FastAPI的教程,其中服务器部署了Uvicorn,一个快速的ASGIWeb......