linux部署GitHub、hexo博客

实验目标:

学会GitHub部署hexo
掌握GitHub基本应用
熟练使用hexo

hexo简介

概述

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

安装前提

安装 Hexo 相当简单,只需要先安装下列应用程序即可:

  • Node.js (Node.js 版本需不低于 10.13,建议使用 Node.js 12.0 及以上版本)
  • Git

搭建步骤

1.安装Git
2.安装Node.js
3.安装Hexo
4.GitHub创建个人仓库
5.生成SSH添加到GitHub
6.将hexo部署到GitHub
7.GitHub源文件推送命令

linux部署

1.安装Git

git是目前世界上最先进的分布式版本控制系统

众所周知,1991年linus编写并开源了Linux操作系统,一直到2002年,linux的前进发展都是世界各地的志愿者把源代码文件通过diff的方式发给linus,然后linus本人通过手工方式合并代码。

Git最早就是在linux上编写的,直接yum安装

yum install -y git
查看版本:git --version

2.安装Node.js

简单的说 Node.js 就是运行在服务端的 JavaScript。
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

Hexo是基于node.js编写的,所以要安装node.js和npm

  • 下载node.js已编译好的包并解压

wget https://nodejs.org/dist/v10.9.0/node-v10.9.0-linux-x64.tar.xz

tar xf node-v10.9.0-linux-x64.tar.xz  //解压

  • 通过ln命令设置软链接(创建了软链接才能全局使用npm和node命令)

ln -s /usr/software/nodejs/bin/npm  /usr/local/bin
ln -s /usr/software/nodejs/bin/node  /usr/local/bin/
查看node.js版本:node -v
查看npm版本:npm -v

node.js版本问题,请查看安装前提

  • 升级node.js

首先,使用npm全局下载一个管理node.js版本的管理模板n

npm i -g n –force
ln -s /usr/software/nodejs/bin/n  /usr/local/bin/

安装最新版本

n latest

安装稳定版本

n stable

删除v14.17.0版本

n rm v14.17.0

切换版本

n

注:升级版本或切换版本后需重启虚拟机后,再查版本才能显示更换后的node.js和npm的版本号。

3.安装Hexo

git和node.js安装好后,就可以开始安装hexo。

  • 全局安装hexo工具

npm install -g hexo-cli
查看hexo版本:hexo -v

至此安装部分就完了。

  • 初始化hexo(blog是文件夹名称,可以自定义)

hexo init blog

进入blog文件夹

npm install

初始完成后,blog文件夹下有:

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

hexo 基础命令:

生成静态文件:hexo generate

启动服务器(认情况下,访问网址为:http://localhost:4000/):hexo server

部署网站:hexo deploy

清除缓存文件 (db.json) 和已生成的静态文件 (public):hexo clean

4.GitHub创建个人仓库

首先,你先要有一个GitHub账户,,没有就注册一个。
注册完登录后,在GitHub.com中看到一个New repository,新建仓库,仓库名为用户名.github.io.git,这样部署到GitHub page的时候才能被识别。
点击create repository。

5.生成SSH添加到GitHub

配置GitHub用户名和邮箱

git config –global user.name “user_name”

git config –global user.email “user_email”

注:user_name是GitHub用户名,user_email是你GitHub的邮箱

检查GitHub用户名和邮箱是否有误

git config user.name
git config user.email

git config -l

创建SSH密钥对(一直回车)

ssh-keygen -t rsa -C “user_email”

查看是否创建成功

ssh -T git@github.com

6.将hexo部署到GitHub

  • 将hexo和GitHub关联起来,编辑**_config.yml**

deploy:
   type: git
   repo: git@github.com:githubName/githubName.github.io
   branch: master

注:repo就是你GitHub仓库的SSH协议链接

  • 安装deploy-git,这样才能部署到GitHub

npm install hexo-deployer-git –save

  • 开始部署html网页

hexo clean
hexo generate
hexo deploy

修改主题后启动如果报如下错误:
extends includes/layout.pug block content include includes/recent-posts.pug include includes/partial

执行如下命令可解决:

npm install –save hexo-renderer-jade hexo-generator-feed hexo-generator-sitemap hexo-browsersync hexo-generator-archive

7.GitHub源文件推送命令

由于hexo d上传部署到GitHub的是hexo编译后的文件,不包括源文件,所以如果你想把源文件也推送到GitHub仓库进行保存,那我们就可以在GitHub上创建另一个分支,并进行源文件的推送。

  • 创建分支

image

然后在仓库的setting中,设置新建的分支为默认分支。

  • 同步仓库至本地

再到linux虚拟机中在本地任意目录下,把GitHub新建的分支同步到本地(将新建分支设置为默认分支,所以就可以直接git clone,否则要指定分支名称)

git clone git@github.com:user_name/user_name.github.io.git

  • 推送源文件至GitHub仓库

git add .   //添加文件到版本库(只是添加到缓存区),.代表添加文件夹下所有文件
git commit -m “add branch”
git push   //推送至仓库

执行完以上命令后,稍等一会,浏览器访问https://user_name.github.io/就可以看到你部署的博客网站了。


到此为止本篇部署教程就结束了,hexo有很多精美的主题,可以自行去官网https://hexo.io/themes/套用就行了,非常简便。
在此推荐初学者去Jerry大佬的博客首页https://butterfly.js.org/仔细查阅《Butterfly 安裝文檔(一) 快速開始》,学习更加精细的hexo主题设置。