项目简介
本项目是基于Gin Web开发框架的脚手架,依据个人开发经验封装了一些基础能力,还提供接入mysql、redis等中间件的示例。基础架构代码在master分支,示例代码存于独立分支。
项目的主要特性和功能
- 配置管理:运用viper库管理系统配置,开启watch模式,默认加载项目根目录的config.yaml文件。
- 日志记录:采用logrus日志工具,支持记录请求ID,便于查看日志链路。
- 数据库支持:以gorm作为ORM库,支持多种数据库,默认使用Mysql,并提供增删改查示例。
- 自动重启:借助air工具监听文件改动,自动重启服务,方便开发。
- 清晰的目录结构:借鉴project-layout,便于维护和扩展。
安装使用步骤
前提条件
假设用户已下载本项目的源码文件,且Go环境已正确配置。
开发运行
- 直接启动服务:在项目根目录下执行
go run main.go
。 - 使用air自动重启
- 安装air工具 ```bash
air -v
- 启动air
bash
air # 全局安装启动
./bin/air # 指定目录安装启动
```
部署
Docker部署
- 构建镜像:在项目根目录下执行
docker build -t gin-starter:latest.
- 启动容器:执行
docker run -d --env-file prod.env -p 8090:8088 -v /Users/houserqu/gin-starter/logs:/app/logs gin-starter:latest
-p
:指定映射端口,容器内服务端口可通过env文件配置。-v
:指定日志文件主机挂载目录,容器内日志目录可通过env文件配置。
直接部署
bash
go build main.go # 构建
./main # 直接启动
pm2 start./main # pm 守护进程启动
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】