gin-vue-blog自建博客

简介: 介绍gin+vue 全栈制作一个博客。这是一个分享全栈制作过程的项目,旨在为有兴趣接触 golang web 开发的朋友分享一些制作经验。

重要更新

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
  1. 转到下面文件夹下
    cd yourPath/gin-vue-blog
  2. 安装依赖
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 =

在database中将sql文件导入数据库

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

  1. 启动项目
go run main.go

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

首页
http://localhost:8080
后台管理页面
http://localhost:8080/admin
默认管理员:admin  密码:123456

enjoy~~~~


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

实现功能

简单的用户管理权限设置

用户密码加密存储

文章分类自定义

列表分页

图片上传七牛云 (开源中已剔除)

JWT 认证

自定义日志功能

跨域 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


项目预览

前端展示页面

image.png

后台登录页面

image.png


后台管理页面

image.png


部署


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


相关文章
|
前端开发 应用服务中间件 Linux
Gin-Vue-Admin 线上部署
Gin-Vue-Admin 线上部署
455 0
Gin-Vue-Admin 线上部署
|
SQL 前端开发 安全
Gin-Vue-Admin 使用 gin+vue 进行极速开发的全栈开发基础平台【gva 第一节】
功能: 1.增加了 pgsql 数据库初始化,用户可选用 pgsql 进行开发。 2.增加了业务数据库功能,用户可通过 yaml 中配置自己的业务数据库,根据 name 获取业务库进行业务操作,实现框架和业务的数据库分离。 3.oss 集成了华为云 oss。 4.前端打包增加了提示内存不足时的一键 node 内存扩容 build 命令。 5.调整了获取用户信息的方法,增加了不鉴权模式下的用户信息获取方式。 6.配置页面调整。 7.取消了自动化代码中数据库类型和 size 的选择模块,防止自动化代码报错。
443 0
|
8月前
|
存储 前端开发 JavaScript
vue+elementui+mysql实现个人博客系统
vue+elementui+mysql实现个人博客系统
|
4月前
【Vue2.0】—github小案例(二十三)
【Vue2.0】—github小案例(二十三)
|
6月前
|
JavaScript 前端开发 关系型数据库
Django+Vue快速实现博客网站
Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。对于博客网站来说是典型的CMS应用。本文介绍通过Django+Vue的博客模版快速实现一个可用的博客网站。
184 1
|
8月前
|
JavaScript 前端开发
|
资源调度 前端开发 JavaScript
Golang: gin-vue-admin框架介绍
Golang: gin-vue-admin框架介绍
530 0
Golang: gin-vue-admin框架介绍
|
JavaScript 前端开发
前端:vue-element-admin 搭建踩坑笔记
首先本地安装后nodejs,我本地的版本如下:
前端:vue-element-admin 搭建踩坑笔记
|
JavaScript
一起吹过的晚风就算相拥 — Vue Admin Work 与 Pinia的邂逅相拥---Pinia实战篇
了解过Vue Admin Work 中后台系列框架的小伙伴们都应该知道,在VueAdminWork中我状态管理我们一直是采用的 Vuex 这个经典框架 。Vuex 确实功能很强大,而且也很稳定,我在多个项目中都使用这个框架做状态管理。 一次偶然的机会我接触到了 Pinia 这个新的状态管理工具,虽然它的文档现在只有英文版的,但细读下来觉得 Pinia 的设计非常之美,它,轻量,耦合性很低,宛如出水芙蓉,让人爱怜。
|
存储 移动开发 JSON
站在Vue3上-构建管理系统vue-vite-admin-ts(一)
站在Vue3上-构建管理系统vue-vite-admin-ts(一)
844 0
 站在Vue3上-构建管理系统vue-vite-admin-ts(一)