Go Markdown 博客系统

Go Markdown 博客系统

基于 Go 语言实现的 Markdown 博客系统

技术栈

目录结构

├── Makefile                     # 项目管理文件
├── conf                         # 配置文件统一存放目录
├── internal                     # 业务目录
│   ├── handler                  # http 接口
│   ├── pkg                      # 内部应用程序代码
│   └── routers                  # 业务路由
├── logs                         # 存放日志的目录
├── static                       # 存放静态文件的目录
├── tpl                          # 存放模板的目录
├── main.go                      # 项目入口文件
├── pkg                          # 公共的 package
├── tests                        # 单元测试
└── startup.sh                   # 启动脚本

功能模块

后台

  • 文章管理:文章增删改查
  • 页面管理:页面增删改查,可自定义 markdown 页面
  • 分类管理:分类增删改查
  • 标签管理:标签列表

前台

  • 文章列表:倒序展示文章、可置顶
  • 内容页面:markdown 内容展示
  • 标签页面:按标签文章数量排序
  • 关于页面:个人说明
  • 阅读清单:个人阅读书籍
  • 站内搜索:支持文章标题、描述、内容、分类、标签模糊搜索

开发规范

遵循: Uber Go 语言编码规范

常用命令

  • make help 查看帮助
  • make dep 下载 Go 依赖包
  • make build 编译项目
  • make tar 打包文件

部署流程

  • 依赖环境:

    mysql、redis、elasticsearch

    elasticsearch 可通过配置开启关闭,redis主要考虑到后续加缓存

  • 安装部署

# 下载安装,可以不用是 GOPATH
git clone https://github.com/convee/goblog.git

# 进入到下载目录
cd goblog

# 生成环境配置文件
cd conf

# 修改 mysql、redis、elasticsearch 配置

# 导入初始化 sql 结构
mysql -u root -p
> create database blog;
> set names utf8mb4;
> use blog;
> source blog.sql;


# 下载依赖
make dep

# 编译
make build

# 运行
./goblog dev.yml

# 后台运行
nohup ./goblog dev.yml &
  • supervisord 部署
[program:goblog]
directory = /data/modules/blog
command = /data/modules/blog/goblog -c conf/prod.yml
autostart = true
autorestart = true
startsecs = 5
user = root
redirect_stderr = true
stdout_logfile = /data/modules/blog/supervisor.log
  • 访问首页

localhost:9091

  • 访问后台

localhost:9091/admin

用户名:admin@convee.cn

密码:123456

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 3
dalo

zsh: exec format error: ./goblog

请问怎么解决

2年前 评论
dalo

mac电脑上,编译golang的代码,编译成功后,执行,报错提示:

exec format error

排查了好久,终于发现问题的所在:我的电脑关于golang的配置,有两项是这样的:

GOOS="linux" 1 而我编译完成后,是运行在macos上的,所以就报错了。

知道问题的所在了,解决起来也很简单,编译的时候 ,执行如下:

GOOS=darwin GOARCH=amd64 go build -o http -v ./main.go ———————————————— 版权声明:本文为CSDN博主「CmderQ」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:blog.csdn.net/whq19890827/article/...

2年前 评论
Convee (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!