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


目录
打赏
0
0
0
0
73
分享
相关文章
Gin-Vue-Admin 使用 gin+vue 进行极速开发的全栈开发基础平台【gva 第一节】
功能: 1.增加了 pgsql 数据库初始化,用户可选用 pgsql 进行开发。 2.增加了业务数据库功能,用户可通过 yaml 中配置自己的业务数据库,根据 name 获取业务库进行业务操作,实现框架和业务的数据库分离。 3.oss 集成了华为云 oss。 4.前端打包增加了提示内存不足时的一键 node 内存扩容 build 命令。 5.调整了获取用户信息的方法,增加了不鉴权模式下的用户信息获取方式。 6.配置页面调整。 7.取消了自动化代码中数据库类型和 size 的选择模块,防止自动化代码报错。
548 0
《进阶篇第7章》学习vue中的ajax之后,练习vue案例-github用户搜索案例
《进阶篇第7章》学习vue中的ajax之后,练习vue案例-github用户搜索案例
33 0
blog-engine-04-博客引擎 hugo intro 入门介绍+安装笔记
该文是关于博客引擎的系列文章,对比了jekyll、hugo、Hexo、Pelican、Gatsby、VuePress、Nuxt.js和Middleman。文章包括jekyll的安装和SEO,hugo和Hexo的入门,Pelican和Gatsby的介绍,VuePress和Nuxt.js的特性,以及Middleman的概述。Hugo是一个基于Go语言的快速、简单的静态网站生成器,特点包括速度快、易用、灵活和跨平台。文章还提供了Hugo在Windows上的安装步骤及创建、预览和发布网站的指南。
Django+Vue快速实现博客网站
Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。对于博客网站来说是典型的CMS应用。本文介绍通过Django+Vue的博客模版快速实现一个可用的博客网站。
278 1
使用Next.js 13、Prisma、Postgresql 和 NextAuth 的全栈博客
使用Next.js 13、Prisma、Postgresql 和 NextAuth 的全栈博客
472 0