gin-vue-blog自建博客

Posted Lucklyの博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gin-vue-blog自建博客相关的知识,希望对你有一定的参考价值。

Ginblog(项目已完成,欢迎使用)
地址

重要更新

2021.9.22 完成V0.0.1基本数据展示

介绍

gin+vue 全栈制作一个博客。

这是一个分享全栈制作过程的项目,旨在为有兴趣接触 golang web 开发的朋友分享一些制作经验。

目录结构

├─  .gitignore
│  go.mod // 项目依赖
│  go.sum
│  latest_log.log #最新log日志软连接
│  LICENSE
│  main.go //主程序
│  README.md
│  tree.txt
│          
├─api         
├─config // 项目配置入口   
├─database  // 数据库备份文件(初始化)
├─log  // 项目日志
├─middleware  // 中间件
├─model // 数据模型层
├─routes
│      router.go // 路由入口    
├─static // 打包静态文件
│  ├─admin  // 后台管理页面        
│  └─front  // 前端展示页面             
├─upload   
├─utils // 项目公用工具库
│  │  setting.go 
│  ├─errmsg   
│  └─validator         
└─web // 前端开发源码(VUECLI项目源文件)
    ├─admin       ( 打包静态文件在web/admin/dist下 )    
    └─front  (打包静态文件在web/front/dist下)

front 后期我会用flutter重写

运行&&部署

  1. 克隆项目

    git clone https://gitee.com/itmxs/gin-vue-blog.git
    
    
  2. 转到下面文件夹下

    cd yourPath/gin-vue-blog

  3. 安装依赖

go mod tidy
  1. 初始化项目配置config.ini
./config/config.ini

[server]
AppMode = debug # debug 开发模式,release 生产模式
HttpPort = :3000 # 项目端口
JwtKey = 89js82js72 #JWT密钥,随机字符串即可

[database]
Db = mysql #数据库类型,不能变更为其他形式
DbHost = 127.0.0.1 # 数据库地址
DbPort = 3306 # 数据库端口
DbUser = ginblog # 数据库用户名
DbPassWord = admin123 # 数据库用户密码
DbName = ginblog # 数据库名

[qiniu]
# 七牛储存信息
AccessKey = # AK
SecretKey = # SK
Bucket = 
QiniuSever =
  1. 在database中将sql文件导入数据库

    推荐navicat或者其他sql管理工具导入

  2. 启动项目

 go run main.go

此时,项目启动,你可以访问页面

首页
http://localhost:8080
后台管理页面
http://localhost:8080/admin

默认管理员:admin  密码:123456

enjoy~~~~

使用、二开过程中,发现问题或者有功能需求欢迎提交 Iusse 或者直接 PR

实现功能

  1. 简单的用户管理权限设置
  2. 用户密码加密存储
  3. 文章分类自定义
  4. 列表分页
  5. 图片上传七牛云 (开源中已剔除)
  6. JWT 认证
  7. 自定义日志功能
  8. 跨域 cors 设置

技术栈

  • golang

    • Gin web framework
    • gorm(v1 && v2)
    • jwt-go
    • scrypt
    • logrus
    • gin-contrib/cors
    • go-playground/validator/v10
    • go-ini
  • 前端

    • vue
    • vue cli
    • vue router
    • ant design vue
    • vuetify
    • axios
    • tinymce
    • moment
  • MySQL version:8.0.21

  • flutter

    dio

    getx

项目预览

  • 前端展示页面

  • 后台登录页面

  • 后台管理页面

部署

Windows平台打包到Linux,需要输入如下命令

set CGO_ENABLED=0
set GOOS=linux
set GOARCH=amd64
go build
  • CGO_ENABLED 表示不使用cgo
  • GOOS 表示目标平台系统(Windows,linux,darwin「mac os」等等)
  • GOARCH 表示目标系统架构(arm arm64 386 amd64 等等)

打包完成后,将二进制文件放到服务器系统,赋可执行权限:

chmod 773 main

直接运行即可:

./main

以上是关于gin-vue-blog自建博客的主要内容,如果未能解决你的问题,请参考以下文章

自建博客系列(六)Hexo博客的常用配置修改

自建博客

自建博客

我的自建博客成立啦!wxtlife.com

自建28核树莓派集群,顺便学学docker,这里有一个500美元的搭建方案

C++ Qt自建网页浏览器