littlebot
Published on 2025-04-02 / 4 Visits
0

【源码】基于Gin框架的Web开发脚手架

项目简介

本项目是基于Gin Web开发框架的脚手架,依据个人开发经验封装了一些基础能力,还提供接入mysql、redis等中间件的示例。基础架构代码在master分支,示例代码存于独立分支。

项目的主要特性和功能

  1. 配置管理:运用viper库管理系统配置,开启watch模式,默认加载项目根目录的config.yaml文件。
  2. 日志记录:采用logrus日志工具,支持记录请求ID,便于查看日志链路。
  3. 数据库支持:以gorm作为ORM库,支持多种数据库,默认使用Mysql,并提供增删改查示例。
  4. 自动重启:借助air工具监听文件改动,自动重启服务,方便开发。
  5. 清晰的目录结构:借鉴project-layout,便于维护和扩展。

安装使用步骤

前提条件

假设用户已下载本项目的源码文件,且Go环境已正确配置。

开发运行

  1. 直接启动服务:在项目根目录下执行go run main.go
  2. 使用air自动重启
    • 安装air工具 ```bash

air -v - 启动airbash air # 全局安装启动 ./bin/air # 指定目录安装启动 ```

部署

Docker部署

  1. 构建镜像:在项目根目录下执行docker build -t gin-starter:latest.
  2. 启动容器:执行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】