Linux上搭建Hexo博客

Linux 上搭建Hexo博客

在本地搭建

安装node.js

(archlinux发行版及其衍生版上,其他版本可用相关的软件包管理工具进行安装,如:yum apt-get,也可到官网下载安装包进行安装)

1
2
3
4
sudo pacman -S nodejs
#项目出现TypeError [ERR_INVALID_ARG_TYPE]错误时降级安装nodejs-lts-erbium node12长期支持版

node -v

安装Hexo

(archlinux发行版及其衍生版上,其他版本可先安装npm包管理工具,再用npm来安装hexo)

1
2
3
4
5
6
7
8
9
10
yay nodejs-hexo	#安装时一路回车就行,npm等几个软件包可选不删除,这里推荐使用yarn代替npm
#若安装hexo后删除了npm,需要用npm的自行安装即可: sudo pacman -S npm
sudo pacman -S yarn
hexo -v
yarn -v
#npm -v
yarn config set prefix /usr/local #修改全局安装路径,修改后如进行全局安装时就需要加sudo
#或添加环境变量:
#bash :export PATH="$(yarn global bin):$PATH"
#fish : vim ~/.config/fish/config.fish #加入: set PATH (yarn global bin) $PATH

yarn与npm命令替换

npm (v5)Yarn
npm install [package] --saveyarn add [package]
npm install [package] --save-devyarn add [package] --dev
(N/A)yarn add [package] --peer
npm install [package] --save-optionalyarn add [package] --optional
npm install [package] --save-exactyarn add [package] --exact
(N/A)yarn add [package] --tilde
npm install [package] --globalyarn global add [package]
npm update --globalyarn global upgrade
npm rebuildyarn add --force
npm uninstall [package]yarn remove [package]
npm cache cleanyarn cache clean [package]
rm -rf node_modules && npm installyarn upgrade
npm version majoryarn version --major
npm version minoryarn version --minor
npm version patchyarn version --patch

镜像源配置

简单修改

npm

1
2
3
4
5
6
7
8
# 临时修改(只生效一次)
npm install 包的名字 --registry https://registry.npm.taobao.org

# 设置npm的配置项(全局配置)
npm config set registry https://registry.npm.taobao.org

# 查看npm源的当前地址
npm config get registry

yarn

1
2
3
4
5
6
7
8
# 临时修改(只生效一次)
yarn save 包的名字 --registry https://registry.npm.taobao.org

# 设置npm的配置项(全局配置)
yarn config set registry https://registry.npm.taobao.org

# 查看npm源的当前地址
yarn config get registry

使用工具修改

npm

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 安装工具
npm install -g nrm

# 列出可选源
nrm ls

* npm ---- https://registry.npmjs.org/
cnpm --- http://r.cnpmjs.org/
taobao - https://registry.npm.taobao.org/
nj ----- https://registry.nodejitsu.com/
rednpm - http://registry.mirror.cqupt.edu.cn/
npmMirror https://skimdb.npmjs.com/registry/
edunpm - http://registry.enpmjs.org/

# 测试源响应时间
nrm test

* npm ---- 1440ms
cnpm --- 937ms
taobao - 392ms
nj ----- Fetch Error
rednpm - Fetch Error
npmMirror 1296ms
edunpm - Fetch Error

# 切换源
nrm use taobao

yarn

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 安装工具
sudo yarn global add yrm

# 列出可选源
yrm ls

* npm ---- https://registry.npmjs.org/
cnpm --- http://r.cnpmjs.org/
taobao - https://registry.npm.taobao.org/
nj ----- https://registry.nodejitsu.com/
rednpm - http://registry.mirror.cqupt.edu.cn/
npmMirror https://skimdb.npmjs.com/registry/
edunpm - http://registry.enpmjs.org/

# 测试源响应时间
yrm test

* npm ---- 13480ms
cnpm --- 1807ms
taobao - 482ms
nj ----- Fetch Error
rednpm - Fetch Error
npmMirror 2499ms
edunpm - Fetch Error
yarn --- Fetch Error

# 切换源
yrm use taobao

开始搭建

1
2
3
4
mkdir ~/blog	#新建一个目录夹用于存放博客文件,如果有错误,直接删除该目录都行
cd ~/blog
hexo init #生成博客框架文件,出现WARN警告可以忽略,当出现ERR报错时就的将该目录下的所有文件删除,排除错误后从来
#出现INFO Start blogging with Hexo!代表成功

开启本地访问服务

1
hexo s	#hexo server	将开启本地的4000端口用来访问博客

新建文章

1
hexo n “文章名”	#hexo new “文章名”

清除缓存

1
hexo cl		#hexo clean

生成静态文件

1
hexo g		#hexo generate

hexo的一些指令

1
2
3
4
5
6
7
8
9
10
11
12
13
clean     删除生成的文件和缓存
config 获取或设置配置
deploy 部署到远程站点
generate 生成静态文件
help 获取有关命令的帮助
init 创建一个新的Hexo文件夹
list 列出网站的信息
migrate 将您的站点从其他系统迁移到Hexo
new 创建一个新帖子
publish 将草稿帖子从_drafts移动到_posts文件夹
render 使用渲染器插件渲染文件
server 启动服务器
version 显示版本信息

将博客部署到GitHub上

准备GitHub仓库

在github上创建一个以用户名.github.io命名的公开仓库,如:eonun.github.io获得仓库地址:https://github.com/eonun/eonun.github.io.git

安装git部署插件

1
yarn add hexo-deployer-git	#在博客主目录下,安装部署插件

修改配置文件

1
2
3
4
5
6
7
8
9
vim _config.yml	#修改在博客目录下的配置文件
#在末尾修改如下
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: git
#仓库地址
repo: https://github.com/eonun/eonun.github.io.git
branch: gh-pages

将本地的博客文件上传到github上

1
hexo d	#输入账号密码验证

访问网站

在仓库中能查看到博客文件了,等待几分钟后以仓库名作网址访问:eonun.github.io即可访问个人博客网站

将博客部署到coding上

准备仓库

coding分团队版和个人版,大致都差不多的

创建一个仓库,名字可随意,不用像github那样有严格的格式,

开启静态网页服务

coding的项目需要自己开启静态网页服务

团队版: 项目>持续部署>静态网站 可选项>设置>自定义域名>绑定新域名>绑定首选域名>强制HTTPS

个人版: 项目>代码>Pages服务,一键开启

开启Pages服务后会得到一个访问地址,个人版的地址是用户名.coding.me/项目名,团队版的是随机码.coding-pages.com如果没有自己的域名的建议使用个人版。

安装git部署插件

1
yarn add hexo-deployer-git	#在博客主目录下,安装部署插件

修改配置文件

1
2
3
4
5
6
7
8
9
vim _config.yml	#修改在博客目录下的配置文件
#在末尾修改如下
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: git
#仓库地址
repo: https://github.com/eonun/eonun.github.io.git
branch: master

多git平台搭建

配置ssh-key,参考git入手

1
2
3
4
5
6
7
8
9
10
11
12
vim _config.yml	#修改在博客目录下的配置文件
#在末尾修改如下
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: git
repo:
github: git@github.com:eonun/eonun.github.io.git
coding: git@e.coding.net:eonun/eonun.git
branch:
github: gh-pages
coding: coding-pages

有条件的自己搭个服务器才是最终解决方案

免费私有项目自定义域名CI/CD服务器
GitHub是 (私有后无法开启Pages)荷兰
GitLab美国
Gitee99/年湖北
Coding香港

绑定个人域名

购买域名并添加解析(如不需要,可直接用仓库名做自己的博客域名,无需单独购买)

选择合适的域名注册商注册一个域名,阿里腾讯都行。购买域名后添加解析

IP地址通过ping访问地址获得

主机记录记录类型记录值
@AIP地址
wwwCNAME仓库名

如:

主机记录记录类型记录值
@A185.199.110.153
wwwCNAMEeonun.github.io

在仓库设置界面添加自定义域名

在仓库页顶部找到Settings,进入后到页面最下方找到GitHub Pages,再找到Custom domain填入自己的域名就保存可以了

在source目录下创建文件CNAME,不然每次hexo deploy都得去设置GitHub Pages自定义域名

1
vim source/CNAME	#创建文件添加内容(只能一个域名):

eonun.com

-------------本文结束感谢阅读-------------

欢迎关注我的其它发布渠道