Hexo个人博客系统的搭建和使用
1. Hexo个人博客系统的搭建和使用
前言
之前本人博客采用Hugo进行安装部署,在更新Hugo版本后发现原来的LoveIt主题与最新版本Hugo无法兼容,导致博客出现故障
由于原来博客部署在阿里云ESC云平台上,操作系统采用的是Centos7版本,统筹考虑将云主机操作系统进行升级并对博客进行翻新改造
最终采用Rocky Linux 9.1 以及Hexo博客系统

2. 1 Hexo安装部署
Hexo是一款基于Nodejs的,快速、简洁且高效的博客框架,只需要安装Node.js和Git即可
Hexo本质是是将Markdown文件(或其他支持格式)按照自定义主题方式输出为标准化静态文件,这些静态文件才是真正意义上所需要的输出物
静态文件可以部署在类似在阿里云ESC,通过Apache或者Nginx对外提供Web服务器从而实现个人博客站点的内容实现
也可以直接部署在类似Github上直接完成Web实现,前者存在域名解析和TLS证书的问题
基本的Hexo工作流详见下图
2.1 1.1 环境介绍
本文使用阿里云ESC云主机,操作系统采用:linux 5.14.0-162.23.1.el9_1.x86_64 Rocky Linux 9.1 (Blue Onyx)
注意:本文站点根目录为/root/mysite
2.2 1.2 安装Node.js
Hexo是基于Node.js技术,因此需要安装Node.js,官网对于版本的依赖如下:
| Hexo 版本 | 最低版本 (Node.js 版本) | 最高版本 (Node.js 版本) |
|---|---|---|
| 6.2+ | 12.13.0 | latest |
| 6.0+ | 12.13.0 | 18.5.0 |
| 5.0+ | 10.13.0 | 12.0.0 |
| 4.1 - 4.2 | 8.10 | 10.0.0 |
| 4.0 | 8.6 | 8.10.0 |
| 3.3 - 3.9 | 6.9 | 8.0.0 |
| 3.2 - 3.3 | 0.12 | 未知 |
| 3.0 - 3.1 | 0.10 或 iojs | 未知 |
| 0.0.1 - 2.8 | 0.10 | 未知 |
Rocky Linux采用yum源安装,Git用系统默认自带版本
12 | yum install -y nodejsnpm install -g hexo-cli |
验证Hexo的版本和安装包信息
1234567891011121314151617181920212223242526272829 | [root@ethan mysite] hexo versionINFO Validating confighexo: 6.3.0hexo-cli: 4.3.1os: linux 5.14.0-162.23.1.el9_1.x86_64 Rocky Linux 9.1 (Blue Onyx)node: 20.2.0acorn: 8.8.2ada: 2.4.0ares: 1.19.0base64: 0.5.0brotli: 1.0.9cjs_module_lexer: 1.2.2cldr: 43.0icu: 73.1llhttp: 8.1.0modules: 115napi: 8nghttp2: 1.52.0nghttp3: 0.7.0ngtcp2: 0.8.1openssl: 3.0.8+quicsimdutf: 3.2.9tz: 2023cundici: 5.22.0unicode: 15.0uv: 1.44.2uvwasi: 0.0.16v8: 11.3.244.8-node.9zlib: 1.2.13 |
至此Hexo博客系统就完成了部署
2.3 1.3 建立站点
基本的建站步骤,这里采用手动创建站点目录
12 | cd /rootmkdir mysite |
初始化站点根目录
1 | hexo init |
此时/root/mysite将作为后续Hexo博客系统的站点根目录
相关站点的目录结构如下:
12345678910111213 | [root@ethan mysite]# tree -L 1.├── _config.landscape.yml ├── _config.yml # 最重要的全局站点配置文件├── db.json├── node_modules├── nohup.out├── package.json├── package-lock.json├── public # 存放最终生成的静态文件,用于Apach或者Ngnix进行Document Root的设置进行读取,对外提供Web服务├── scaffolds├── source # 这里存放需要发布的MD文件└── themes # 这里存放主题文件 |
这里一个文件和三个文件夹最重要:
1、_config.yml文件:全局配置文件,包括页面标题、页面介绍等基本信息,这里配置的信息最重要就是主题的设置,例如设置theme: next
2、source:这里存放需要发布的MD文件,后续可以直接将MD文件存放在这里,Hexo通过--wathc参数会实时监视该文件夹,生成静态文件
3、themes:这里存放主题文件
4、public:存放最终生成的静态文件,用于Apach或者Ngnix进行Document Root的设置进行读取,对外提供Web服务
2.4 1.4 Hexo全局参数配置
这里简单介绍几个必须修改的字段,供参考
1、title: 张先生的深夜课堂,这里作为网页打开标题
2、language: zh-CN,如果选择中文
3、timezone: ‘Asia/Shanghai’时区建议
4、theme: next,主题的配置,这里为了使用next主题,增加一行
特别注意,默认配置文件最后有一行,主题默认为landscape,建议作为注释,否则运行Hexo进程会报错
#theme: landscape
5、url: https://www.ethanzhang.xyz/,修改为实际的网页地址,注意这里的`http或者https`前缀
如果GitHub Page, 参考修改为 ‘https://username.github.io/project‘
3. 2 主题
类似Hugo,Hexo支持大量主题,这里非常推荐一款主题Next,开箱即用
官网链接:https://github.com/theme-next/hexo-theme-next
3.1 2.1 安装
直接采用Git安装或者手动安装方式,前者的好处是在于建立了本地Git仓库并保持远程仓库信息,将来可以使用git pull进行更新
12 | cd /root/mysitegit clone https://github.com/theme-next/hexo-theme-next themes/next |
此时next主题安装完成
这里查看next主题的整个文件框架
12345678910111213 | [root@ethan mysite]# tree themes/next/ -L 1themes/next/├── _config.yml├── crowdin.yml├── docs├── gulpfile.js├── languages├── layout├── LICENSE.md├── package.json├── README.md├── scripts└── source |
同样这里最重要的文件仍然是_config.yml主题参数配置文件
3.2 2.2 主题参数配置
可参考:https://theme-next.org/docs/theme-settings/
基本上next主题开箱即用,可定义的参数特别多,可玩性较高
3.2.1 2.2.1 备案号
个人博客都应主动向公安主管部门进行备案,因此需要在网站上主动显示备案信息号
在配置参数中footer:下的copyright: 字段信息,可以填入该备案信息号
3.3 2.3 升级主题
进入当前主题文件目录下,使用git pull命令进行升级
12 | cd themes/nextgit pull |
4. 3 实际使用生成内容
一般使用Typora、Obsidian等写作文件,生成Markdown文件后,直接上传至站点根目录的source目录下
关键步骤,使用hexo二进制文件对source目录下的Markdown文件进行扫描,通过主题文件生成格式化静态文件
hexo具体命令参数如下:
123 | hexo generate- 简写hexo g |
其他可以使用参数
12345 | -w, --watch 监视文件变动-b, --bail 生成过程中如果发生任何未处理的异常则抛出异常-f, --force 强制重新生成文件Hexo 引入了差分机制,如果 public 目录存在,那么 hexo g 只会重新生成改动的文件。使用该参数的效果接近 hexo clean && hexo generate |
4.1 3.1 最佳实践
实际上我们习惯更关注与博客内容的创作,创作后的内容文件希望直接上传至规定目录后,系统自动实时创建更新,刷新页面后将立即获得所见即所得的效果
因此Hexo程序应在后台运行,形成一个后台运行的进程,并实时监测source目录下内容的变化,因此建议使用一下命令:
1 | nohup hexo g --w 2>&1 & |
4.2 3.2 内容创作
这里还有一个非常重要的提示,就是对于内容文件Markdown文件中一些预定义的关键字的说明
例如Hexo如何知道你对于分类和标签等内容的识别?
这些预定义的关键字,官网称之为Front-matter 是文件最上方以 --- 分隔的区域,用于指定个别文件的变量
官网参数定义如下:
| 参数 | 描述 | 默认值 |
|---|---|---|
layout | 布局 | config.default_layout |
title | 标题 | 文章的文件名 |
date | 建立日期 | 文件建立日期 |
updated | 更新日期 | 文件更新日期 |
comments | 开启文章的评论功能 | true |
tags | 标签(不适用于分页) | |
categories | 分类(不适用于分页) | |
permalink | 覆盖文章的永久链接,永久链接应该以 / 或 .html 结尾 | null |
excerpt | 纯文本的页面摘要。使用 该插件 来格式化文本 | |
disableNunjucks | 启用时禁用 Nunjucks 标签 {{ }}/{% %} 和 标签插件 的渲染功能 | false |
lang | 设置语言以覆盖 自动检测 | 继承自 _config.yml |
一般使用title、date、tags、categories、description五个参数即可
特别注意是关于description参数,建议最好使用,这样在首页中就能够以省略方式,通过description参数内容去在首页进行展示,而不是将该文章全部进行显示
提示:在享受本文内容的同时,请注意版权归属 徐州鑫坤机电设备有限公司https://www.xzxkjd.com如果您觉得有价值欢迎分享,但请务必注明出处,感谢您的理解,谢谢!
以下部分内容需要登录查看 立即登录
相关内容
- Hexo个人博客系统的搭建和使用
- 供需裂口持续扩大:2025年铜价暴涨,产业链如何应对?
- 铜,新时代的“石油”?2025年价格狂飙背后的战略博弈
- 从能源革命到智能时代:2025铜价暴涨背后的全球新逻辑
- 铜价创历史新高!绿色转型与供需失衡背后的财富浪潮
- 2025铜价为何一飞冲天?三大核心驱动力深度解析
- 上海非急救出租服务全解析
- 深耕中考复读赛道 深圳深才教育为复读生搭建升学桥梁
- 阳光下的童年:那些被温暖照亮的纯真时光
- 群晖DSM7.0-7.21监控套件Surveillance Station 9.20-11289开心版60个许可证设置教程(无重启、无断流、无卡死、史上最完美)
- 云服务器+SD-WAN组网和域名DNS解析
- 在云主机上安装iKuai OS,实现SD-WAN组网,利用云主机80;443端口搭建企业网站。个人博客。让云主机当做你的堡垒机,实现数据本地化。
简体中文
繁體中文
English
Nederlands
Français
Русский язык
Polski
日本語
ภาษาไทย
Deutsch
Português
español
Italiano
한어
Suomalainen
Gaeilge
dansk
Tiếng Việt
Pilipino
Ελληνικά
Maori
tongan
ᐃᓄᒃᑎᑐᑦ
ଓଡିଆ
Malagasy
Norge
bosanski
नेपालीName
čeština
فارسی
हिंदी
Kiswahili
ÍslandName
ગુજરાતી
Slovenská
היברית
ಕನ್ನಡ್Name
Magyar
தாமில்
بالعربية
বাংলা
Azərbaycan
lifiava
IndonesiaName
Lietuva
Malti
català
latviešu
УкраїнськаName
Cymraeg
ກະຣຸນາ
తెలుగుQFontDatabase
Română
Kreyòl ayisyen
Svenska
հայերեն
ဗာရမ်
پښتوName
Kurdî
Türkçe
български
Malay
मराठीName
eesti keel
മലമാലം
slovenščina
اوردو
አማርኛ
ਪੰਜਾਬੀName
albanian
Hrvatski
Suid-Afrikaanse Dutch taal
ខ្មែរKCharselect unicode block name




