本章主要介绍beego项目的部署和热更新(又叫平滑部署、平滑更新等等)
1.beego项目部署
一般服务器都是linux,这里主要介绍linux系统的项目部署。
1.1.项目打包
之前介绍过bee工具, 在项目根目录执行下面命令完成项目打包。
bee pack
打包完成后当前目录得到一个tar.gz后缀的压缩包。
1.2.独立部署
独立部署就是直接将上面得到的压缩包,上传到服务器,解压缩后直接运行go程序。
# 先进入项目目录
cd appdir
# 在后台执行beego程序
nohup ./beepkg &
2.beego热更新
热更新指的是在不中断服务的情况下,完成程序升级。beego项目默认已经实现了热更新。
下面介绍beego如何实现热更新。
首先在app.conf配置文件中打开热更新配置。
Graceful = true
假设目前老版本的程序正在运行,进程ID是1880。
现在将新版本的beego程序压缩包上传到服务器,解压缩,直接覆盖老的文件。
下面是触发beego程序热更新的命令:
kill -HUP 进程ID
上面这个命令的意思就是给指定进程发送一个HUB信号,beego程序接收到这个信号后就开始处理热更新操作。
因为我们老版本的进程ID是1880, 因此命令是:
kill -HUP 1880
执行命令就可以完成热更新操作。