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

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

beego 支持完整的 mvc。1) M:Model,beego orm,把数据库数据变成object。1.1 特性:支持go的所有类型存储、更简洁的curd风格、完整实现了健壮的ORM。1.2 支持的数据库:mysql、postgresql、sqlite3。