SpringBoot项目的优化与部署

优化项目大小

  • 由于SpringBoot的web应用一般都添加了spring-boot-maven-plugin插件,打出来的jar包内置了所有的依赖jar, 放在BOOT-INF/lib目录, 所以体积很大。我第一次打包出来的jar包有70M左右。这上传到服务器是很花费时间的。也不利于后期的维护与部署。

JVM调优

  • 在默认情况下,项目是没有设置任何Jvm参数的,启动项目之后,可以打开JDK自带的jvisualvm工具来查看一下堆栈的情况。

在这里插入图片描述
在这里插入图片描述

  • IDEA设置参数
-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC

在这里插入图片描述

  • 调优之后发现:

在这里插入图片描述

Docker部署

安装Docker

Docker安装教程

搭建环境

  • 安装Mysql
docker pull mysql:5.7
  • 修改配置文件

因为在docker中没有vim,所以只能将文件拷出来,然后修改之后拷贝去。

  • 安装redis
1.安装redis
docker pull redis:latest
2.启动
docker run --name myredis -p 6379:6379 -d redis redis-server --appendonly yes
  • 安装mysql
1.安装mysql
docker pull mysql:5.7
2.启动
 docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

制作镜像

  1. Dockerfile文件,(说明:copy后面那个jar,就是通过maven打的jar包)
FROM java:8
VOLUME /tmp
COPY coderman-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c "touch /app.jar"
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar", "--spring.profiles.active=test", "--server.port=8080", "> /log/app.log"]
  1. 将jar也上传到服务器上面的某个文件夹,和Dockerfile放在一起,
  2. 执行docker build -t ***** .
  3. 注意:执行上面语句的时候,星号位置写名称,最后加一个.
    如图所示:

在这里插入图片描述

运行项目

  1. 查看有没有此镜像docker images
  2. 后台运行镜像docker run -itd -p 8080:8080 qingchuan

在这里插入图片描述

  1. 运行成功

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值