linux部署GitHub、hexo博客
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上创建另一个分支,并进行源文件的推送。
- 创建分支
然后在仓库的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主题设置。