Linux上搭建Hexo博客

Linux上搭建Hexo博客

Linux 上搭建Hexo博客

在本地搭建

安装node.js

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

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

node -v

安装Hexo

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

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] --save yarn add [package]
npm install [package] --save-dev yarn add [package] --dev
(N/A) yarn add [package] --peer
npm install [package] --save-optional yarn add [package] --optional
npm install [package] --save-exact yarn add [package] --exact
(N/A) yarn add [package] --tilde
npm install [package] --global yarn global add [package]
npm update --global yarn global upgrade
npm rebuild yarn add --force
npm uninstall [package] yarn remove [package]
npm cache clean yarn cache clean [package]
rm -rf node_modules && npm install yarn upgrade
npm version major yarn version --major
npm version minor yarn version --minor
npm version patch yarn version --patch

镜像源配置

简单修改

npm

# 临时修改(只生效一次)
npm install 包的名字 --registry https://registry.npm.taobao.org

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

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

yarn

# 临时修改(只生效一次)
yarn save 包的名字 --registry https://registry.npm.taobao.org

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

# 查看npm源的当前地址
yarn config get registry
使用工具修改

npm

# 安装工具
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

# 安装工具
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

开始搭建

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

开启本地访问服务

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

新建文章

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

清除缓存

hexo cl		#hexo clean

生成静态文件

hexo g		#hexo generate

hexo的一些指令

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部署插件

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

修改配置文件

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上

hexo d	#输入账号密码验证

访问网站

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

将博客部署到coding上

准备仓库

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

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

开启静态网页服务

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

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

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

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

安装git部署插件

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

修改配置文件

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入手

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 美国
Gitee 99/年 湖北
Coding 香港

绑定个人域名

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

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

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

主机记录 记录类型 记录值
@ A IP地址
www CNAME 仓库名

如:

主机记录 记录类型 记录值
@ A 185.199.110.153
www CNAME eonun.github.io

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

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

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

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

eonun.com