SpringBoot2.0开发案例之百倍级减肥瘦身之旅-创新互联

SpringBoot 2.0 开发案例之百倍级减肥瘦身之旅

创新互联于2013年成立,是专业互联网技术服务公司,拥有项目成都网站建设、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元萝北做网站,已为上家服务,为萝北各地企业和个人服务,联系电话:028-86922220

前言

为了存我的小黄图,最近在做一款图床服务,集成了各种第三方云存储服务,目前正在内部测试阶段。项目是以Jar的形式运行在腾讯云上,不要问我为什么使用腾讯云了,因为阿里云老用户和狗不得入内。

SpringBoot 2.0 开发案例之百倍级减肥瘦身之旅

问题凸显

因为内测期间代码逻辑会经常变动,这就免不了重新打包上传,虽然家庭是百兆带宽,奈何云服务器上行带宽有限制啊,总有那么几分钟不开心。

瘦身之旅

瘦身前,项目差不多得 54MB 的样子,以后可能越来越肥胖!!!那怎么办? 程序员作为一个懒人职业,总会想到一些办法来搞定问题。

首先我们正常打包,解压 Jar 包,把 BOOT-INF 目录下的 lib 目录拷贝出来,这个后面会用到。

然后排除项目第三方依赖包,pom.xml 引入:


 org.springframework.boot
 spring-boot-maven-plugin
 
 com.itstyle.picture.Application
 ZIP
 
 
 
 nothing
 nothing
 
 
 
 
 
 
 repackage
 
 
 

打包完成之后,target 目录下生成了一个仅有 7.5MB 的文件,不要问我为什么还这么大,因为静态资源占了大部分,其实业务代码仅有几百KB而已。

你以为这样就完了吗,显然没有。对于解压后十几兆的静态文件我们完全可以排除掉,pom.xml 继续引入:



 
 true
 src/main/resources
 
 static/**
 
 

这时候 target 目录下生成的是一个仅仅有356KB的小东西!!!以后,无论什么云都是秒传了。

虽然项目秒传了,但是要想让它正常访问,我们还需要做一步,把静态文件单独上传,放置到Nginx服务下,实现项目的动静分离。

server {
 listen 80;
 server_name www.cloudbed.vip;
 location / {
 proxy_pass http://127.0.0.1:8080;
 }
 #静态文件交给nginx处理
 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ioc|rar|
 zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$
 {
 root /cloudbed/static;
 expires 30d;
 }
 location ~ .*\.(js|css)?$
 {
 root /cloudbed/static;
 expires 1h;
 }
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root html;
 }
}

运行

把 lib 目录和瘦身的 Jar 包,上传到项目目录下,运行下面命令:

java -Dloader.path=/cloudbed/lib -jar /cloudbed/cloudbed.jar

小结

从54MB到7.5MB再到356KB是不是爽翻了!!!编译速度也从十几秒下降到两三秒,基本上来说是秒编。以后,如果需要变更业务逻辑,编译、打包、上传秒秒中搞定。对于程序员来说,时间真的很宝贵,几秒中搞定的事情,绝对不能让它过分。

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


新闻标题:SpringBoot2.0开发案例之百倍级减肥瘦身之旅-创新互联
分享链接:http://myzitong.com/article/cdsjod.html