一架梯子,一头程序猿,仰望星空!

beego项目部署与热更新


本章主要介绍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

执行命令就可以完成热更新操作。