一个方便部署springBoot单体项目的脚本。特点: 可以通过 -Dserver.port 参数交替监听两个不同的端口

github地址: https://github.com/FlyInWind1/boot-starter

本脚本利用了 nginx 的负载均衡功能。upstream 里配置里两个 server 但是同一时间只有一个 server 是工作的

更新应用时启动之前不使用的那个 server ,然后关闭之前使用的。以达到用户无感觉便升级后台系统的效果

配置脚本

  1. 将 boot-starter,boot-starter.conf 拷贝到项目的目录下。也就是和jar包同级目录
  2. 修改 boot-starter.conf 配置文件,主要修改启动命令
  3. chmod +x boot-starter 给脚本执行权限

配置nginx

  1. 将 backend.conf 拷贝到 nginx 配置目录的 conf.d 目录下 (配置内容按自己的需要自行修改)
  2. 确保 nginx.conf 中的 http 节中(与server同级)有 include conf.d/*.conf;
  • 以上我提供的配置方案只是参考,实际使用中可随意配置

命令使用方法

boot-starter [deploy|deployBackend|deployFront|restart|stop|status]

参数说明
deploy部署项目,使用两个端口交替
deployBackend部署后端,使用两个端口交替
deployFront部署前端
restart重启项目,重启现已监听端口的项目。没有监听的话,启动第一个
stop关闭所有项目
status查看项目状态

TODO

  • 重启后端,更新前端文件
  • 备份老文件功能,将老的文件移动到 backup 下,然后将新的文件移动到工作区
  • 一个压缩包中有前端和后端的文件,当这个压缩包放到 new 目录下后,运行 ./boot-starter deploy 可以自动将其中文件解压
  • 使用python监听 new 目录下的文件变化,当发现有可部署的文件时自动执行部署功能
  • 使用python自动执行sql增量脚本
  • 当新的 boot-starter 和配置文件放到 new 下面时可以自动更新
  • 写一个systemd开机自启service
  • 部署完成后删除 backup 下有那些年头的文件
  • 解决nginx负载均衡对于关闭的那个server一直报错的问题
  • 提供一个配置,允许两个后端同时运行,这也是解决nginx报错的解决方案之一
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值