文章目录

  • goblog介绍
  • goblog界面截图
  • goblog技术组件
  • goblog安装部署
    • 安装
      • 获取goblog源码
      • 安装go运行环境
      • 安装mysql
    • 部署
      • 编译并部署goblog
      • 运行goblog

goblog介绍

goblog基于go语言开发的一个简约版个人博客系统,基于Golang语言编写,后端基于了Beego的web框架,目前具备博文系统最基础的功能模块.基本上是一个拿来即用的个人博文平台,只需要部署一个mysql数据存储服务,即可作为个人博文的发布平台使用.
请给我一个Start : https://github.com/liangyd1024/goblog

goblog界面截图

后台管理

PC前端展示

  • http://panally.cn

手机前端展示

  • http://panally.cn

goblog技术组件

  • 基于go语言,
  • 集成于beego的web框架

https://beego.me/

  • 数据持久mysql
  • 博文撰写组件

    支持 富文本编辑
    支持 Markdown编辑
    目前两款编译器中设计到图片上传资源均存储在当前服务器中,暂时没有使用第三方云存储服务

  • 站内全文检索riot

https://github.com/go-ego/riot

goblog安装部署

好了,现在让我们来手动搭建一个goblog吧!

安装

获取goblog源码

  1. 我们先通过github拉取goblog源码
  2. github地址: https://github.com/liangyd1024/goblog
  3. 这里拉取git库需要安装git,git的安装步骤这里就不在重复(网上一大把呦)
 git clone https://github.com/liangyd1024/goblog.git

安装go运行环境

各个操作系统安装go的步骤大同小异,这里我们以Linux来做示例

  1. 获取go对应的版本安装包,这里我们到go官网获取最新版本的安装文件
   wget https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz
  • 通过 https://golang.org/dl/ 我们可查看到go的所有版本资源
  1. 解压下载包
 tar -xvf go1.11.5.linux-amd64.tar.gz
  1. 配置go的环境变量
 cd ~vi ~/.bash_profileexport GOROOT=$HOME/App/goexport GOPATH=$HOME/Projectexport PATH=$PATH:$GOROOT/bin:$GOPATH/bin
  • 编辑文件并保存
  • 这里GOROOT是指go安装包解压后所在的目录
  • GOPATH为后续应用源码所在工作目录
 source ~/.bash_profilego version
  • 刷新配置文件后验证go是否安装正常,这里会输出go version go1.11.5 linux/amd64

安装mysql

goblog采用mysql作为数据存储服务,so 我们需要在我们对应的服务器上安装上一个mysql服务实例并启动他提供服务(对于mysql的安装本篇幅就不做多描述,网上已经有许多实例)

  • 在安装好mysql实例后我们只需要再实例上手动建立一个mysql的Shcema,Schema的名字为为goblog,所有的表结构在goblog启动时会自动创建生成(下文有特别介绍)

部署

编译并部署goblog

通过git获取goblog源码后通过go build命令进行编译

 cd $HOME/Project/src/gobloggo build ./
  • 源码拉取请在$GOPATH后先建立src目录(因为golang中对$GOPATH目录约定有3个子目录:src、pkg、bin),src下存放所有项目的源代码
  • 编译期间由于国内网络受限一些相关的lib会下载失败: go: golang.org/x/net@v0.0.0-20181220203305-927f97764cc3: unrecognized import path “golang.org/x/net” (https fetch: Get https://golang.org/x/net?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
  • 我们需要单独设置下go下载包的代理
  • 继续编辑配置文件~/.bash_profile
 export GOPROXY=https://goproxy.io
  • 配置好后重新执行go build ./命令 ’chua‘ 的一下依赖包就下好了
  • 执行完构建命令后我们可以在当前目录下找到刚刚构建好后的包goblog

运行goblog

上面通过go build命令构建完成后,接下来我们就可以把goblog运行起来了

在运行前我们需要先说明下几个目录的作用

  1. conf/-------项目配置文件
  • beego.conf------goblog中一些web配置
  • db.conf------数据库配置
  • log.cong------日志配置
  1. src/------go源码文件
  2. static/------静态资源(js/css/img…)
  3. views/------页面模板文件(html)
  4. main.go------主程序入口文件
  5. go.mod go.sum------go的模块lib依赖配置文件
  6. README.MD------项目介绍文件
  • 在conf下我们可以将对应要链接的数据库的地址进行配置,编辑db.conf

  • 直接运行刚才我们构建好的应用文件

  •  ./goblog
    
  • 我们也可以先通过go mod tidy命令将应用的依赖包下载下来然后使用go run main.go来运行我们的goblog

  • 运行后可以通过控台查看到启动日志

  • goblog启动后会建立默认的账号和密码:admin/goblog,我们通过访问127.0.0.1:9090/admin可以登录到后台进行博文的发布,发布完成后可以通过127.0.0.1:9090查阅已发布的博文信息

  • 登录界面

  • 博文管理

  • 博文浏览(前端展示)

这里有个地方要特别强调下,因为goblog是直接采用beego提供的orm框架来做DB操作,所以在conf/db.conf中有个配置项mysqlForce = false要特别指出,设置为true时每次启动应用时都会将对应的表结构数据清除,所以此配置项只需在首次应用使用时指定true即可(自动创建表模型),后续在生产环境或者开发环境下不需要重新格式化数据情况时请慎重开启.

基于Golang的个人博客-goblog相关推荐

  1. 基于JSP实现个人博客

    项目编号 :KS020 运行环境: 开发工具:IDEA /ECLIPSE 应用服务器:TOMCAT8 JDK:1.7 MYSQL:5.7 开发技术: JSP/SERVLET/JDBC 项目运行截图: ...

  2. 六个步骤,从零开始教你搭建基于WordPress的个人博客

    摘要:WordPress是使用PHP语言开发的博客平台,是免费开源的.用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站,也可以把WordPress当作一个内容管理系统(CMS)来使用 ...

  3. 狙击美佐 基于WordPress的个人博客网站

    狙击美佐 基于WordPress的个人博客网站 个人简介:http://121.196.156.71/jujimeizuo/ 网站链接:http://121.196.156.71/blog/wordp ...

  4. 腾讯云CentOS7运行基于SSM的个人博客----第三节:使用Dokcer安装JDK、Tomcat环境

    腾讯云CentOS7运行基于SSM的个人博客----使用Dokcer安装JDK.Tomcat环境运行SSM的个人博客项目 第一节: 更新yum源,安装Dokcer容器 第二节: 使用Dokcer安装M ...

  5. 基于python的个人博客系统的设计开题报告_基于SSM的个人博客系统设计开题报告...

    本 科 毕 业 设 计(论文)开 题 报 告 题  目:基于SSM的个人博客系统设计与实现 专题题目(若无专题则不填): 本课题来源及研究现状: 关于博客的未来:在创办了博客中国(blogchina) ...

  6. 基于ssm的个人博客系统的设计与实现(含源文件)

    欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye 进入二十一世纪,以Internet为核心的现代网络积水和通信技术已经得到了飞速的发展和广泛的应用 ...

  7. Win10环境下基于Hexo的静态博客环境搭建,及其阿里云部署

    引言 1.为什么要搭建自己的个人博客 工作和学习过程中,我们经常遇到一些这样或那样的问题,此时我们可能会在网上找到相应的解决方法.但是过了一段时间之后,当我们再次碰到类似的问题时,早已忘记以前是怎么解 ...

  8. 【基于python+Django的博客系统-哔哩哔哩】 https://b23.tv/bmRfAMu

    [基于python+Django的博客系统-哔哩哔哩] https://b23.tv/bmRfAMu https://b23.tv/bmRfAMu

  9. 基于springboot+vue个人博客搭建

    目录 博客介绍 源码地址:springboot+vue个人博客系统: 基于springboot+vue个人博客系统 在线地址 目录结构 ​编辑 项目特点 技术介绍 开发环境 项目截图 注意事项: 项目 ...

最新文章

  1. SAP MM初阶之事务代码MIGO界面里的HOLD
  2. AndoridSQLite数据库开发基础教程(6)
  3. python五子棋人人对战_五子棋-人人对战
  4. 基于Laravel开发博客应用系列 —— 构建博客后台管理系统
  5. python界面散点图_Python数据可视化——散点图
  6. java输出日志_java代码中如何正确使用loggger日志输出
  7. 详解:设计模式之-代理设计
  8. 跨库事务处理 spring+hibernate+struts2+jta
  9. MakeDAO 推出新漏洞奖励计划,最高赏金1000万美元
  10. 单向链表相关——链表中环的问题
  11. Exadata的独门武器--卸载(Offloading)
  12. 树莓派:漂洋过海来看你
  13. Industroyer:自震网病毒以来对工控系统的最大威胁
  14. 从零开始学《离散数学》-电子科技大学
  15. UI设计常用软件有哪些?
  16. opc服务器不显示目录,opc客户端搜不到opc服务器
  17. Excel批量设置数字转化成“以文本形式存储的数字”
  18. 【Java】所有做过的面试题
  19. 将VOC格式标注文件转换为Yolo格式
  20. 【Python】京东消费行为数据分析可视化实战案例

热门文章

  1. 配置coredns解析公网域名
  2. FTP 错误 550 Failed to change directory 记录贴
  3. A-SPICE 进程概要和 CL 计算方法
  4. 前端开发之SEO(搜索引擎优化)
  5. 【冲量动态】冲量在线正式成为中国通信标准化协会(CCSA)全权会员,区块链+大数据,助力数字时代开启新章程
  6. 解决xampp 外网访问不了
  7. 小程序传值对象数值到另一个页面大小限制
  8. 自由人NFT平台,全球首个以NFT+农业+元宇宙项目
  9. 关于保险和理财,我是这么看的
  10. 使用HTML制作会员注册界面