一、前言

一般来说,我们更新服务器的springboot项目需要先停下旧的jar包,然后运行新的jar包,中间有一小段时间用户没法访问,虽然时间很短,但是这样也会造成用户体验不好,通过Nginx可以达到无缝切换,优雅发版。注意,本文仅针对单台服务器的情况,多台服务器可以采用分批下线的方式达到无缝切换。

二、准备

需要先安装Nginx,配置域名转发到指定端口

三、发版步骤

需要先配置Nginx,配置方式请百度。

1.打新的jar包,注意端口需要与旧的jar包不同。

2.放到服务器,运行新的jar包(此时新旧jar包都在运行)

3.修改Nginx配置文件,把域名的转发端口指向新的jar包

4.验证是否成功转发到新的jar包

5.关闭旧的jar包

四、总结

通过上述步骤,基本可以做到用户无感知发版。需要注意的是,关掉旧的jar包前需要确认是否成功转发的新的jar包,springboot的某些连接未释放可能会导致配置文件修改不生效(我经历过Nginx没法刷新配置的情况,最后猜测是前端请求数据,后端迟迟未返回并且没有释放连接)。

springboot不停机更新(配合Nginx优雅发版)相关推荐

  1. 【解决方案】SpringCloud项目优雅发版、部署

    [解决方案]SpringCloud项目优雅发版.部署 参考文章: (1)[解决方案]SpringCloud项目优雅发版.部署 (2)https://www.cnblogs.com/fonxian/p/ ...

  2. 分享一例脚本发版和tomcat重启脚本

    线上有个网站业务部署在tomcat上,由于频繁上线修改,需要经常启动tomcat. tomcat服务自带的bin下没有重启脚本,下面分享一例脚本发版和tomcat重启脚本: 1)现将业务代码从svn里 ...

  3. SpringBoot 2.3 新特性之优雅停机

    1 SpringBoot 2.3 新特性之优雅停机 什么是优雅停机 先来一段简单的代码,如下: @RestController public class DemoController {@GetMap ...

  4. 王者服务器维护8月四日,8月4日体验服停机更新公告

    亲爱的召唤师: 为了增加版本的稳定性,我们计划在2021年8月4日12:10-13:30对<王者荣耀>体验服进行停机维护. [更新时间]8月4日12:10-13:30(11:45关闭PVP ...

  5. 8月4日王者荣耀服务器维修几点,8月4日体验服停机更新公告

    亲爱的召唤师: 为了增加版本的稳定性,我们计划在2021年8月4日12:10-13:30对<王者荣耀>体验服进行停机维护. [更新时间]8月4日12:10-13:30(11:45关闭PVP ...

  6. K8s上的Go服务怎么扩容、发版更新、回滚、平滑重启?教你用Deployment全搞定!

    经过前面不少文章的铺垫,终于可以写这个大家都感兴趣的话题了,在前面两篇文章,我们讲了Kubernetes里的 Pod和 副本集ReplicaSet (RS) 这两个API对象.知道了Pod是Kuber ...

  7. 王者荣耀8月6日服务器维护,8月6日体验服停机更新公告

    亲爱的召唤师: 为了增加体验服内容的丰富性和版本的稳定性,我们计划2018年8月6日20:45-8月7日1:45对<王者荣耀>体验服进行停机更新. [更新时间]2018年8月6日20:45 ...

  8. nginx 部署前端项目,不缓存html文件,项目发版后,不用手动刷新页面

    nginx 部署前端项目,不缓存html文件,项目发版后,不用手动刷新页面 location / {expires 1h;root /home/test/vue/dist/;index index.h ...

  9. 王者服务器维护7月九号,6月9日体验服停机更新公告

    亲爱的召唤师: 为了增加体验服内容的丰富性和版本的稳定性,我们计划2018年6月9日14:00-6月9日16:00对<王者荣耀>体验服进行停机更新. 更新完成时间将根据工作进度提前或延期, ...

最新文章

  1. 解决尺度不平衡,Facebook 全景分割新算法
  2. [原]missing #39;;#39; before #39;namesapce#39;错误的解决
  3. c语言学习题,C语言学习题目
  4. 深度学习总结:cycleGAN原理,实现图片风格切换,可以和之前的伪DL方式对比一下,pytoch实现
  5. Flink 架构:三层架构体系、运行时组件
  6. 亚洲综合竞争力排名发布:韩国位居第1,中国第9,大家怎么看?
  7. vivoiqooz1鸿蒙系统,iQOOZ1评测:vivo新一代性价比神机
  8. python纵向数据分析_python数据分析三个重要方法之:numpy和pandas
  9. 当博客系统遇上live2d后
  10. C# Winform App 获取当前路径
  11. 电商后台项目 + 源码
  12. java查看jar包依赖_java项目开发中如何查找到项目依赖的jar包?
  13. 学位真的那么重要吗?上交大博士亲述科研心路,获4万高赞,网友:这是知乎最好的回答...
  14. 慕课网翁恺老师《面向对象程序设计——Java语言》第一周课程笔记及作业题(设计一个表示分数的Fraction类)
  15. 免费的关于法律的英文文献的网址
  16. wireshark抓组播数据_wireshark过滤?wireshark 看端口号?wireshark组播包?WireShark 过滤语法...
  17. latex初学者入门(二)
  18. 地图慧一直显示服务器,瑞友慧连接服务端
  19. Linux相关的压缩解压缩命令
  20. 正确打开/解读Logit模型系数的方式——离散选择模型之四

热门文章

  1. Word太大怎么进行压缩?实用Word压缩工具
  2. 文件数据储存之外部储存
  3. AndroidStudio安装apk到vivo手机时提示安装失败
  4. 什么是SAAS平台?三分钟了解
  5. 大数据工程师学习计划
  6. java 语音包_有人开发了马保国语音包
  7. C++算法 | 比较大小
  8. 基于android的记账软件,基于Android的记账软件的设计与实现
  9. 记一次Redis出问题及解决方案
  10. 使用Selenium IDE进行自动化测试