使用halo和hexo+github两种方式免费搭建个人博客网站

hexo

在这里插入图片描述

简介

Hexo是一款基于Node.js的静态博客框架,依赖少易于安装使用,可以方便的生成静态网页托管在GitHub和Heroku上,是搭建博客的首选框架。

hexo搭建步骤

  1. 安装Git
  2. 安装Node.js
  3. 安装Hexo
  4. GitHub创建个人仓库
  5. 生成SSH添加到GitHub
  6. 将hexo部署到GitHub
  7. 更换主题
  8. 发布文章
  9. 初识MarkDown语法

我的博客地址:https://kuokay.github.io/
在这里插入图片描述

1. 安装Git

有不懂git的可以去看看https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000这个教程

windows:到git官网上下载,Download githttps://gitforwindows.org/,下载后会有一个Git Bash的命令行工具,以后就用这个工具来使用git。

linux:对linux来说实在是太简单了,因为最早的git就是在linux上编写的,只需要一行代码

sudo apt-get install git

安装好后,用git --version 来查看一下版本

安装nodejs

Hexo是基于nodeJS编写的,所以需要安装一下nodeJs和里面的npm工具。
windows:nodejsnodejs.org选择LTS版本就行了。
在这里插入图片描述

linux:

sudo apt-get install nodejs
sudo apt-get install npm

安装完后,打开命令行

node -v
npm -v

检查一下有没有安装成功

安装Hexo

前面git和nodejs安装好后,就可以安装hexo了,你可以先创建一个文件夹blog,然后cd到这个文件夹下(或者在这个文件夹下直接右键git bash打开)。

输入命令

npm install -g hexo-cli

由于NPM镜像是国外资源,如果觉得安装慢,我们可以选择安装淘宝团队做的镜像cnpm。在win10环境下,以管理员身份运行CMD,输入以下命令:

npm install -g cnpm --registry=https://registry.npm.taobao.org

cnpm install -g hexo-cli

安装完成后依旧用hexo -v查看一下版本,至此就全部安装完了。

接下来初始化一下hexo

hexo init myblog(博客目录名,随便起)

安装依赖包

cd myblog //进入这个myblog文件夹
npm install

新建完成后,指定文件夹目录下有:

  • node_modules: 依赖包
  • public:存放生成的页面
  • scaffolds:生成文章的一些模板
  • source:用来存放你的文章
  • themes:主题
  • ** _config.yml: 博客的配置文件**

启动、生成博客依次执行

hexo g
hexo s

在这里插入图片描述

打开hexo的服务,在浏览器输入localhost:4000就可以看到你生成的博客了
在这里插入图片描述
使用ctrl+c可以把服务关掉。

GitHub创建个人仓库

登录到GitHub,如果没有GitHub帐号,使用你的邮箱注册GitHub帐号:https://github.com/
注册完登录后,在GitHub.com中看到一个New repository,新建仓库
在这里插入图片描述
创建一个和你用户名相同的仓库,后面加.github.io,只有这样,将来要部署到GitHub page的时候,才会被识别,也就是xxxx.github.io,其中xxx就是你注册GitHub的用户名。我这里是已经建过了。
在这里插入图片描述
点击create repository。

生成SSH添加到GitHub

回到你的git bash中,在菜单里搜索Git Bash,设置user.name和user.email配置信息:

在这里插入图片描述

git config --global user.name "你的GitHub用户名"
git config --global user.email "你的GitHub注册邮箱"

可以用以下两条,检查一下你有没有输对

git config user.name
git config user.email

生成ssh密钥文件:

ssh-keygen -t rsa -C "你的GitHub注册邮箱"

然后直接三个回车即可,默认不需要设置密码
然后找到生成的.ssh的文件夹中的id_rsa.pub密钥,将内容全部复制
在这里插入图片描述
ssh,简单来讲,就是一个秘钥,其中,id_rsa是你这台电脑的私人秘钥,不能给别人看的,id_rsa.pub是公共秘钥,可以随便给别人看。把这个公钥放在GitHub上,这样当你链接GitHub自己的账户时,它就会根据公钥匹配你的私钥,当能够相互匹配时,才能够顺利的通过git上传你的文件到GitHub上。

而后在GitHub的setting中,找到SSH keys的设置选项,点击New SSH key
把你的id_rsa.pub里面的信息复制进去。

在这里插入图片描述
在gitbash中,查看是否成功

ssh -T git@github.com

将hexo部署到GitHub

这一步,我们就可以将hexo和GitHub关联起来,也就是将hexo生成的文章部署到GitHub上,打开站点配置文件 _config.yml,翻到最后,修改为YourgithubName就是你的GitHub账户
在这里插入图片描述
进入根目录里的themes文件夹,里面也有个_config.yml文件,这个称为主题配置文件,如下图
在这里插入图片描述
下一步将我们的Hexo与GitHub关联起来,打开站点的配置文件_config.yml,翻到最后修改为:

deploy:
type: git
repo: 这里填入你之前在GitHub上创建仓库的完整路径,记得加上 .git
branch: master参考如下:

deploy:
type: git
repo: https://github.com/YourgithubName/YourgithubName.github.io.git
branch: master
保存站点配置文件。

其实就是给hexo d 这个命令做相应的配置,让hexo知道你要把blog部署在哪个位置,很显然,我们部署在我们GitHub的仓库里。最后安装Git部署插件,输入命令:

npm install hexo-deployer-git --save

这时,我们分别输入三条命令:

hexo clean
hexo generate
hexo deploy

其中 hexo clean清除了你之前生成的东西,也可以不加。
hexo generate 顾名思义,生成静态文章,可以用 hexo g缩写
hexo deploy 部署文章,可以用hexo d缩写

注意deploy时可能要你输入username和password。

得到下图就说明部署成功了,过一会儿就可以在http://yourname.github.io 这个网站看到你的博客了!!
在这里插入图片描述
现在你的个人网站的地址是 yourname.github.io,如果觉得这个网址逼格不太够,这就需要你设置个人域名了。但是需要花钱。有需要的自行百度吧。

更换主题

第一步:选择主题并下载

进入hexo官网https://hexo.io/themes/主题选择喜欢的界面进行下载

注意这里网上很多的是使用git,git的作用就是把东西下载下来,我们直接下载安装包效果也是一样的
将下载好的文件解压到\blog\themes目录下

第二步:修改hexo配置文件

在blog文件夹下有一个_config.yml文件,使用记事本打开,ctrl+F查找theme

theme: landscape

landscape是hexo默认的主题,这里我们将它修改为自己下载的主题
在这里插入图片描述

第三步:重新生成public

cd blog
hexo clean
hexo g
hexo s

浏览器输入http://localhost:4000/ 查看效果

第四步:自定义自定义主题

进入\blog\themes\你的主题名字下,你一般会看到一个_config.yml文件和一个README.md文件,README.md相当于一个主题说明书,使用VScode的预览功能可以更直观的查看文档
打开_config.yml,这里面的参数因主题而异,修改你需要的参数并且再次生成public即可

发布文章

我们开始正式发布上线博客文章,在命令行中输入:

hexo n "博客名字"

我们会发现在blog根目录下的source文件夹中的_post文件夹中多了一个 博客名字.md 文件,使用Markdown编辑器打开,就可以开始你的个人博客之旅了,Markdown常用的样式也就十来种,完全能够满足一般博文的样式要求,这是我的一篇博文内容示例:
在这里插入图片描述
通过带有预览样式的Markdown编辑器实时预览书写的博文样式,也可以通过命令 hexo s --debug 在本地浏览器的localhost:4000 预览博文效果。写好博文并且样式无误后,通过hexo g、hexo d 生成、部署网页。随后可以在浏览器中输入域名浏览。

初识Markdown语法

Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。Markdown语法简洁明了、容易掌握,而且功能比纯文本更强,因此写博客使用它,可以让用户更加专注的写文章,而不需要费尽心力的考虑样式,相对于html已经算是轻量级语言,像有道云笔记也支持Markdown写作。并且Markdown完全兼容html,也就是可以在文章里直接插入html代码。比如给博文添加音乐,就可以直接把音乐的外链html代码插入文章中。具体语法参看:Markdown 语法说明(简体中文版)http://www.appinn.com/markdown/ 可以说十分钟就可以入门。当然,工欲善其事必先利其器,选择一个好的Markdown编辑器也是非常重要的,这里推荐MarkPadhttp://code52.org/DownmarkerWPF/ 和The Markdown Editor for Windowshttp://www.markdownpad.com/ ,这是带有预览效果的编辑器,也可以使用本地的文本编辑器,更多的Markdown的语法与编辑器自己可以搜索了解。

halo

halo是一个动态博客,相似的还有wordpress。halo用的技术是:springboot, Freemarker, Mysql, JPA, Lombok, swagger2等,都是目前比较主流的框架,源码看起来比较方便,也便于以后自己修改。还有一些静态博客,比如hexo,hugo ,hexo使用的人比较多,主题也多,但文章多了渲染时会变得很慢,hugo很快,但主题不多。静态博客修改文章并不方便,还是动态博客方便一点。

halo搭建

使用两种方式尝试搭建:

第一种快速搭建

linux安装halo官方文档:https://docs.halo.run/install/linux
先去官网下载:https://dl.halo.run/release/
官方主题仓库:https://halo.run/themes.html

也可以使用wget下载到服务器:

下载最新的 Halo 安装包

curl -L https://github.com/halo-dev/halo/releases/download/v1.1.1/halo-1.1.1.jar --output halo-latest.jar

或者

wget https://github.com/halo-dev/halo/releases/download/v1.1.1/halo-1.1.1.jar -O halo-latest.jar

启动 Halo

java -jar halo-latest.jar

在这里插入图片描述
访问默认的http://ip:8090即可进入安装引导界面,如果无法访问检测以下防火墙是否开启,如果开启了是否允许该端口被访问(比如阿里云就需要去控制台添加相应访问规则)
在这里插入图片描述

注:如果启动时报错,那可能jdk版本不兼容,比如你用jdk1.8去启动halo-1.4.8.jar就会报错,我之前是之前yum安装的java-1.8.0-openjdk,就报错了,当时便有了以下思路,一用低一点版本的halo,如halo-1.4.6.jar去适配jdk1.8,二可以选择卸载原有jdk,安装更高版本的jdk,三使用docker搭建halo,与宿主机分离,不改变宿主机环境

第二种Docker搭建

此处使用宝塔环境,比较方便
进入宝塔管理界面,在软件商店中安装docker管理器,在镜像管理中获取到halo的官方镜像。ruibaby/halo
在这里插入图片描述
打开终端,下载配置文件,修改H2数据库信息(主要修改默认用户名密码)

curl -o ~/.halo/application.yaml --create-dirs https://dl.halo.run/config/application-template.yaml
vim ~/.halo/application.yaml

创建容器,端口映射,目录映射。
在这里插入图片描述
/tmp:/root/halo-tmp,方便在宿主机终端对备份文件的管理

随后新建网站,纯静态,添加域名,其他都不勾选:

在这里插入图片描述
最后对网站设置反向代理:
在这里插入图片描述
注:当使用halo用户运行服务时,是无权使用80端口的,所以修改application.yaml里面为80端口是无效的

官方文档地址:https://docs.halo.run/

其他插件:

后台管理(halo-admin):https://github.com/halo-dev/halo-admin
独立评论模块(halo-comment): https://github.com/halo-dev/halo-comment
管理 APP(halo-app):https://github.com/halo-dev/halo-app
主题仓库:https://halo.run/theme


版权声明:本文为qq_45066628原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。