5.5 运行使用与编译成二进制文件

golang开发 MySQL配置 API项目启动 接口文档查看 心跳检测 环境配置 编译二进制文件 源码获取
本文介绍了如何准备环境、启动项目以及将项目编译成二进制文件。首先,需要配置本地MySQL信息到`configs/fat_configs.toml`文件中,并初始化表数据。接着,通过`go run main.go -env fat`命令启动项目,其中`-env`参数用于指定环境配置文件。项目启动后,可通过提供的接口文档地址和心跳检测地址进行查看和测试。最后,通过`go build .`命令将项目编译成二进制文件,生成的二进制文件可在任何地方执行。
文章内容
思维导图
常见问题
社交分享

环境准备

  1. golang 1.19 +

  2. MySQL

将本地的 MySQL 信息,配置到 configs/fat_configs.toml 文件中,示例如下:

[mysql.read]
addr = '127.0.0.1:3306'
name = 'gin_api_mono'
pass = '123456789'
user = 'root'

[mysql.write]
addr = '127.0.0.1:3306'
name = 'gin_api_mono'
pass = '123456789'
user = 'root'

初始化表数据:

-- 创建数据表 --
CREATE TABLE `admin` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `username` varchar(32) NOT NULL DEFAULT '' COMMENT '用户名',
  `mobile` varchar(20) NOT NULL DEFAULT '' COMMENT '手机号',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='管理员表';

-- 初始化数据 --
INSERT INTO `admin` (`id`, `username`, `mobile`) VALUES
(1, '张三', '13888888888'),
(2, '李四', '13888888888'),
(3, '赵五', '13888888888');

启动

$ go run main.go -env fat  

// -env 表示设置哪个环境,主要是区分使用哪个配置文件,默认为 fat
// -env dev 表示为本地开发环境,使用的配置信息为:configs/dev_configs.toml
// -env fat 表示为测试环境,使用的配置信息为:configs/fat_configs.toml
// -env uat 表示为预上线环境,使用的配置信息为:configs/uat_configs.toml
// -env pro 表示为正式环境,使用的配置信息为:configs/pro_configs.toml

如上,表示启动成功。

查看接口文档

接口文档地址:http://127.0.0.1:9999/swagger/index.html

心跳检测地址:http://127.0.0.1:9999/system/health

{
    "time": "2023-12-03 22:10:01",
    "environment": "fat",
    "host": "127.0.0.1:9999",
    "status": "ok"
}

至此,我们就创建了一个简单的 API 项目。

编译成二进制文件

在项目根目录执行:

go build .  

以 Mac 环境为例,在项目根目录中会生成一个 gin-api-mono 二进制文件。

将二进制文件拷到任何地方,均可执行。

获取源码,可添加我微信 wx-xinliang 。


有启发,左下角点击“启发”告诉我呀,点我即可直接跳转到小册目录合集

思维导图生成中,请稍候...

问题 1: 运行该项目需要哪些环境准备?
回答: 需要安装 Go 1.19 及以上版本和 MySQL,并将 MySQL 的配置信息填写到 configs/fat_configs.toml 文件中。

问题 2: 如何配置 MySQL 信息?
回答:configs/fat_configs.toml 文件中配置 MySQL 的读写地址、数据库名称、用户名和密码,示例如下:

[mysql.read]
addr = ‘127.0.0.1:3306’
name = ‘gin_api_mono’
pass = ‘123456789’
user = ‘root’
[mysql.write]
addr = ‘127.0.0.1:3306’
name = ‘gin_api_mono’
pass = ‘123456789’
user = ‘root’


**问题 3:** 如何初始化数据库表和数据?  
**回答:** 执行以下 SQL 语句创建 `admin` 表并插入初始化数据:  

CREATE TABLE admin (
id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘主键’,
username varchar(32) NOT NULL DEFAULT ‘’ COMMENT ‘用户名’,
mobile varchar(20) NOT NULL DEFAULT ‘’ COMMENT ‘手机号’,
created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间’,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT=‘管理员表’;
INSERT INTO admin (id, username, mobile) VALUES
(1, ‘张三’, ‘13888888888’),
(2, ‘李四’, ‘13888888888’),
(3, ‘赵五’, ‘13888888888’);


**问题 4:** 如何启动项目?  
**回答:** 在项目根目录执行 `go run main.go -env fat` 命令,其中 `-env` 参数用于指定环境(如 `fat` 表示测试环境)。

**问题 5:** 如何查看接口文档?  
**回答:** 访问 `http://127.0.0.1:9999/swagger/index.html` 即可查看接口文档。

**问题 6:** 如何进行心跳检测?  
**回答:** 访问 `http://127.0.0.1:9999/system/health`,返回的 JSON 数据中包含当前时间、环境、主机和状态信息。

**问题 7:** 如何将项目编译成二进制文件?  
**回答:** 在项目根目录执行 `go build .` 命令,编译后会生成一个二进制文件(如 `gin-api-mono`),该文件可在任何地方执行。

**问题 8:** 如何获取项目源码?  
**回答:** 可以通过添加微信 `wx-xinliang` 获取项目源码。