【个人博客搭建练手版】Windows环境下使用tale,mblog,halo三种框架搭建个人博客,适合准备搭建博客的练手之作

昨天发了一篇搭建博客的教程,竟然上新人榜了。

博客链接:https://editor.csdn.net/md/?articleId=139392436

趁热打铁把该文章中说的使用在Windows环境使用docker desktop搭建halo博客练手的教程也写一下。

这篇文章不只有halo的搭建,还有tale框架搭建博客和mblog框架搭建博客的教程,但是受限于这两种方式我只是在Windows环境本机启动稍微玩了玩,也是做一个练手的作用。

文章很长,如果想直接看docker desktop的之间在目录跳过去就行。如果对tale和mblog感兴趣,可以慢慢看。

文章中的所有搭建过程都是之前上班的时候偷偷搞的,还好我记录下来了,不然现在又得重来一遍。文章也是现在抽空摸鱼写的。
在这里插入图片描述
不要问我是哪家怨种公司,被我天天上班摸鱼搞这搞那。大小周,我也是怨种!!!

tale

tale是我第一个选中的框架,我最开始选中他的原因是因为:部署简单,开发语言是java。
有多简单,你看我步骤就知道了。当然这是本机部署练手,如果确定选择这个模板,后面肯定还有很多工作要做。

  1. 拉取代码:IDEA新建项目,选择版本控制
    在这里插入图片描述
  2. 填入项目地址,选择好你的文件夹点击克隆就好了。由于我的目录带有公司名,打个码。
    tale项目地址: https://github.com/otale/tale.git
    在这里插入图片描述
  3. 项目拉下来以后,找到启动类,启动
    在这里插入图片描述
  4. 启动成功,复制最下面的地址去你喜欢的那个浏览器打开就是了。不会启动不成功的,信我,不成功来打我。
  5. 进入页面,安装,登录,进入仪表板。然后你就可以开始玩了。如果你想修改页面之类的,那你必须得自己懂一点点代码知识。
    在这里插入图片描述
    在这里插入图片描述
    tale的部署就写到这里了。看完就会发现部署真的挺简单的,界面好看,自己添加代码改造也不难。适合练手。

mblog

mblog和tale类似,安装简单,java语言开发。就连安装部署的流程也差不多,区别在于mblog需要在连本地数据库。

  1. 创建新项目,选择版本控制,填入url,选择目录,点击克隆(tale的时候也是这个流程,就不分两步了)。

项目地址:https://gitee.com/mtons/mblog

  1. 代码拉下来,找的README.md文件,看看项目信息。简单来说就是在本地数据库建一个数据库,然后改一下配置文件就行。如果本地没装数据库就装一个。不会装?私信我,我写教程!!!
    在这里插入图片描述
  2. 找到启动类,启动就好了。如果启动不成功,请用你的专业知识看日志分析一下,我当时第一次也没跑成功。我当时应该是数据库和配置文件没选对的问题。如果进去项目一片通红,在maven生命周期里面clean install就好了。
  3. 启动成功以后,也是找到地址,就可以看到博客页面了。主打一个干净整洁。
    在这里插入图片描述
    在这里插入图片描述
  4. mblog的安装部署也就到这里啦。也是非常简单,想改造就自己发挥了。也很适合第一次搭建博客的人练手。

halo + docker desktop

halo的部署也很简单,麻烦在于docker desktop的安装有点麻烦,我当时整了好几个小时,各种试错,最终才搞好。我们先进行docker desktop的安装,这里要提前配置一下环境,一步步来,就不会有问题。

环境配置

  1. 右键点击Windows按钮,选择应用与功能。
    在这里插入图片描述
  2. 选择右上角程序和功能
    在这里插入图片描述
  3. 点击启用或关闭Windows功能
    在这里插入图片描述
  4. 勾选Hyper-V
    在这里插入图片描述
  5. 勾选windows虚拟机监控程序平台,容器,适用于Linux的Windows子系统
    在这里插入图片描述
  6. 打开powershell 查看wsl
    在这里插入图片描述
  7. 输入命令wsl --help,看看有没有帮助信息判断有没有安装wsl,
    有就不用安装了,直接wsl–set-default-version2设置wsl2为默认版本就行了。
    如果本机没有WSl,点击链接下载完再安装。
    wsl --help
    wsl --set-default-version2
    
  8. 重启电脑
  9. Win+R 输入services.msc打开服务
    在这里插入图片描述
  10. 找到Hyper-V的主机服务,右键点击属性,启动类型修改为手动,选择启动即可
    在这里插入图片描述
  11. 假如启动失败,打开windows安全中心,选择应用和浏览器控制
    在这里插入图片描述
  12. 找到exploit protection,点击exploit protection 设置
    在这里插入图片描述
  13. 切换到程序设置,拉到最下选择vmcompute.ext,点击编辑
    在这里插入图片描述
  14. 找到控制流保护,点击关闭
    在这里插入图片描述
  15. 重启电脑。

安装docker desktop

  1. 下载安装包。百度网盘直接下我或者官网自行下载。

网盘链接:https://pan.baidu.com/s/1zLOPhkZ2Y60bkAb1w7c6hg
提取码:0603
官网下载链接:https://docs.docker.com/desktop/install/windows-install/

  1. 安装一直点就完事了。
  2. 镜像换源:

“registry-mirrors”: [
“https://docker.mirrors.ustc.edu.cn”
],

在这里插入图片描述

  1. 打开cmd,输入docker --version,正确显示版本的话说明已经安装成功了,可以开始部署halo了。
docker --version

部署halo

  1. 打开halo官网,找到docker的安装文档。也可以直接坐我的传送门打开。

文档地址:https://docs.halo.run/getting-started/install/docker

  1. 打开CMD,如果刚才的没关可以继续用,输入一下代码(我也是在官方文档复制的,同时文档中还有命令各参数的含义)
docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.16

在这里插入图片描述

  1. 输入docker ps,查看当前运行的应用
docker ps

在这里插入图片描述

  1. 可以看到容器已经在运行了,端口是8090。当然也可以直接去docker desktop看。
    在这里插入图片描述
  2. 打开http://127.0.0.1:8090,这个时候会直接跳halo的初始化页面。
    在这里插入图片描述
  3. 按提示注册,初始化就好了。初始化后会进到仪表板,也就是博客后台,在这里可以选择发布文章。
    在这里插入图片描述
  4. 换个浏览器,输入http://127.0.0.1:8090就可以进到博客页面啦
  5. 这里单独讲一下halo切换主题的功能,这也是我最后选halo的原因。我菜啊,不会写主题,系统自带的主题又不喜欢,但是halo很nice的地方就是有个主题商店有各种白嫖的主题,香的很。
    在这里插入图片描述

最后

文章讲了三种在Windows环境搭建个人博客的框架及安装部署方法,别光看,动手试试吧!

如果文章帮助到您,点个赞,收藏关注一下,感谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/693526.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

堆排序讲解

前言 在讲堆的删除时,我们发现一步一步删除堆顶的数据,排列起来呈现出排序的规律,所以本节小编将带领大家进一步理解堆排序。 1.堆排序概念 那么什么是堆排序? 堆排序(Heap Sort)是一种基于堆数据结构的排…

JS-Fetch

Fetch 是一种用于进行网络请求的现代 JavaScript API。它提供了一种简单、灵活且功能强大的方式,用于从服务器获取资源并处理响应。 Fetch API 在浏览器中原生支持,并且以 Promise 为基础,使得异步请求更加直观和易用。使用 Fetch API&#…

C++ Qt实现http url启动本地应用程序

更多Qt文章,请访问《深入浅出C++ Qt开发技术专栏》:https://blog.csdn.net/yao_hou/category_9276099.html 文章目录 1、注册自定义协议2、编写web页面3、编写C++应用程序我们在使用腾讯会议时经常会通过http链接打开本地的腾讯会议,例如下图: 打开会议发起人给的链接,会出…

C语言小例程10/100

题目&#xff1a;要求输出国际象棋棋盘。 程序分析&#xff1a;国际象棋棋盘由64个黑白相间的格子组成&#xff0c;分为8行*8列。用i控制行&#xff0c;j来控制列&#xff0c;根据ij的和的变化来控制输出黑方格&#xff0c;还是白方格。 #include<stdio.h>int main() {…

Elasticsearch:ES|QL 查询 TypeScript 类型(二)

在我之前的文章 “Elasticsearch&#xff1a;ES|QL 查询 TypeScript 类型&#xff08;一&#xff09;”&#xff0c;我们讲述了如何在 Nodejs 里对 ES|QL 进行查询。在今天的文章中&#xff0c;我们来使用一个完整的例子来进行详细描述。更多有关如何使用 Nodejs 来访问 Elasti…

【马琴绿绮】马维衡古琴之马氏汉风 明代杉木制;周身髹朱红色漆

【马琴绿绮式】马维衡古琴之马氏汉风 明代杉木制&#xff1b;琴体周身髹朱红色漆&#xff0c;鹿角霜灰胎&#xff1b;形体壮硕、风格高古&#xff1b;音色松透、浑厚&#xff0c;音质纯净&#xff0c;按弹舒适&#xff0c;手感丝滑。

AI视频教程下载:如何用ChatGPT来求职找工作?

这是一个关于使用ChatGPT找工作的课程&#xff0c;作者分享了自己的求职经验和技巧&#xff0c;介绍了如何使用人工智能来改进个人资料和简历&#xff0c;以及如何研究公司和面试。通过细节处理职业目标、分享个人兴趣和技能、寻求导师和专业发展机会&#xff0c;以及在行业内建…

LLVM Cpu0 新后端 系列课程总结

想好好熟悉一下llvm开发一个新后端都要干什么&#xff0c;于是参考了老师的系列文章&#xff1a; LLVM 后端实践笔记 代码在这里&#xff08;还没来得及准备&#xff0c;先用网盘暂存一下&#xff09;&#xff1a; 链接: https://pan.baidu.com/s/1yLAtXs9XwtyEzYSlDCSlqw?…

状态方程ABCD矩阵如何确定例子

状态方程ABCD矩阵如何确定 确定状态空间表示中的状态矩阵A、输入矩阵 B、输出矩阵C 和直通矩阵D,需要从系统的动力学方程出发,并将其转换为状态方程的形式。我们可以通过一个具体的物理系统(如倒立摆系统)来说明这一过程 例子:倒立摆系统 系统描述 考虑一个倒立摆系统…

车用柴油氧化安定性检测 GB 19147-2009全项检测

柴油分为轻柴油&#xff08;沸点范围约180-370℃&#xff09;和重柴油&#xff08;沸点范围约350-410℃&#xff09;两大类。柴油使用性能中最重要的是着火性和流动性&#xff0c;其技术指标分别为十六烷值和凝点&#xff0c;我国柴油现行规格中要求含硫量控制在0.5%-1.5%。 检…

Linxu: Dynamic debug 简介

文章目录 1. 前言2. 什么是 Dynamic debug (dyndbg) ?3. Dynamic debug (dyndbg) 的使用3.1 开启 Dynamic debug (dyndbg) 功能3.2 使用 Dynamic debug (dyndbg) 功能 4. Dynamic debug (dyndbg) 的实现4.1 内核接口 dynamic_pr_debug() 的实现4.2 debugfs 导出控制节点 contr…

stm32中外部中断控制Led亮灭

说明&#xff1a;外部中断的方式通过按键来实现&#xff0c;stm32的配置为江科大stm32教程中的配置。 1.内容&#xff1a; 通过中断的方式&#xff0c;按下B15按键Led亮&#xff0c;按下B13按键Led灭。 2.硬件设计&#xff1a; 3.代码&#xff1a; 3.1中断底层 EXTI.c #i…

Apple - Quartz 2D Programming Guide

本文翻译自&#xff1a;Quartz 2D Programming Guide&#xff08;更新时间&#xff1a;2017-03-21 https://developer.apple.com/library/archive/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/Introduction/Introduction.html#//apple_ref/doc/uid/TP300010…

高考之后第一张大流量卡应该怎么选?

高考之后第一张大流量卡应该怎么选&#xff1f; 高考结束后&#xff0c;选择一张合适的大流量卡对于准大学生来说非常重要&#xff0c;因为假期期间流量的使用可能会暴增。需要综合考虑多个因素&#xff0c;以确保选到最适合自己需求、性价比较高且稳定的套餐。以下是一些建议…

Mysql(一):深入理解Mysql索引底层数据结构与算法

众所众知&#xff0c;MySql的查询效率以及查询方式&#xff0c;基本上和索引息息相关&#xff0c;所以&#xff0c;我们一定要对MySql的索引有一个具体到数据底层上的认知。 这一次也是借着整理的机会&#xff0c;和大家一起重新复习一下MySql的索引底层。 本节也主要有一下的…

电脑缺失msvcp110.dll文件的解决方法,总结5种靠谱的方法

在计算机使用过程中&#xff0c;我们可能会遇到一些错误提示&#xff0c;其中之一就是“找不到msvcp110.dll”。这个错误提示通常出现在运行某些软件时&#xff0c;那么&#xff0c;它究竟会造成哪些问题呢&#xff1f; 一&#xff0c;msvcp110.dll文件概述 msvcp110.dll是Mic…

【二叉树】Leetcode 103. 二叉树的锯齿形层序遍历【中等】

二叉树的锯齿形层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的 锯齿形层序遍历 。&#xff08;即先从左往右&#xff0c;再从右往左进行下一层遍历&#xff0c;以此类推&#xff0c;层与层之间交替进行&#xff09;。 示例 1&#xff1a; 输入&#xff1a;roo…

vite常识性报错解决方案

1.导入路径不能以“.ts”扩展名结束。考虑改为导入“xxx.js” 原因&#xff1a;当你尝试从一个以 .ts 结尾的路径导入文件时&#xff0c;ESLint 可能会报告这个错误&#xff0c;因为它期望导入的是 JavaScript 文件&#xff08;.js 或 .jsx&#xff09;而不是 TypeScript 文件&…

nest入门教程

1.介绍&#xff1a; Nest (NestJS) 是一个用于构建高效、可扩展的 Node.js 服务器端应用的框架。它使用渐进式 JavaScript&#xff0c;构建并完全支持 TypeScript&#xff08;但仍然允许开发者使用纯 JavaScript 进行编码&#xff09;并结合了 OOP&#xff08;面向对象编程&am…

CNCF项目全景图介绍

本文首发在个人博客上&#xff0c;欢迎来踩&#xff01; 云原生计算基金会&#xff08;CNCF&#xff09;介绍 CNCF(Cloud Native Computing Foundation)官网链接&#xff1a;https://www.cncf.io/ 官方的介绍如下&#xff1a; 云原生技术有利于各组织在公有云、私有云和混合…