0%

Hexo博客搭建

###HEXO简介

####Hexo是快速、简洁且高效的博客框架:

1、超快速度:Node.js 所带来的超快生成速度,让上百个页面在几秒内瞬间完成渲染。

2、一键部署:只需一条指令即可部署到 GitHub Pages, Heroku 或其他平台。

3、支持 Markdown:Hexo 支持 GitHub Flavored Markdown 的所有功能,甚至可以整合 Octopress 的大多数插件。

4、插件和可扩展性:强大的 API 带来无限的可能,与数种模板引擎(EJS,Pug,Nunjucks)
和工具(Babel,PostCSS,Less/Sass)轻易集成

###Hexo搭建

Github Pages可以被认为是用户编写的、托管在github上的静态网页。使用Github Pages可以为你提供一个免费的服务器,免去了自己搭建服务器和写数据库的麻烦。此外还可以绑定自己的域名,下面就是介绍hexo部署到Github Pages的搭建及自己安装出现问题总结。

####1、安装Git
Git是目前世界上最先进的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。也就是用来管理你的hexo博客文章,上传到GitHub的工具。Git非常强大,我觉得建议每个人都去了解一下。廖雪峰老师的Git教程写的非常好,大家可以了解一下。Git教程

windows:到git官网上下载,Download git,下载后会有一个Git Bash的命令行工具,以后就用这个工具来使用git。

linux:对linux来说实在是太简单了,因为最早的git就是在linux上编写的只需要一行代码:sudo apt-get install git

安装好后,用git –version 来查看一下版本

git version 2.28.0.windows.1

####2、安装Node.js

Hexo是基于nodeJS编写的,所以需要安装一下nodeJs和里面的npm工具。

windows:nodejs选择LTS版本就行了。

linux:

sudo apt-get install nodejs
sudo apt-get install npm

安装完后,打开命令行用下面命令检查是否安装成功

node -v
npm -v

git安装完后可以直接用git bash的命令代替cmd

git bash的位置为git的安装根目录下,也可在git安装成功后直接到相应的路径下右键选择git bash,省去cd命令到相应的路径

####3、安装Hexo

创建一个文件夹blog,然后cd到这个文件夹下(或者在这个文件夹下直接右键git bash打开)。

输入命令

npm install -g hexo-cli

hexo -v查看一下版本

至此就全部安装完了。接下来初始化一下hexo

hexo init myblog

这个myblog可以自己取什么名字都行,然后

cd myblog //进入这个myblog文件夹

npm install

新建完成后,指定文件夹目录下有:

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

打开hexo的服务

hexo g
hexo server

在浏览器输入localhost:4000就可以看到你生成的博客了。
使用ctrl+c可以把服务关掉。

####4、GitHub创建个人仓库
首先,你先要有一个GitHub账户,去注册一个吧。

注册完登录后,在GitHub.com中看到一个New repository,新建仓库
创建一个和你用户名相同的仓库(很重要),后面加.github.io,只有这样,将来要部署到GitHub page的时候,才会被识别,也就是xxxx.github.io,其中xxx就是你注册GitHub的用户名。我这里是已经建过了

####5、生成SSH添加到GitHub
回到你的git bash中,

git config --global user.name "yourname"
git config --global user.email "youremail"

yourname没有双引号。
这里的yourname输入你的GitHub用户名,youremail输入你GitHub的邮箱。这样GitHub才能知道你是不是对应它的账户。

可以用以下两条,检查一下你有没有输对
git config user.name
git config user.email

然后创建SSH,执行下面命令

ssh-keygen -t rsa -C "youremail"

一路回车

这个时候它会告诉你已经生成了.ssh的文件夹。在你的电脑中找到这个文件夹。

ssh,简单来讲,就是一个秘钥,其中,id_rsa是你这台电脑的私人秘钥,不能给别人看的,id_rsa.pub 是公共秘钥,可以随便给别人看。把这个公钥放在GitHub上,这样当你链接GitHub自己的账户时,它就会根据公钥匹配你的私钥,当能够相互匹配时,才能够顺利的通过git上传你的文件到GitHub上。

而后在GitHub的setting中,找到SSH keys的设置选项,点击New SSH key
把你的id_rsa.pub里面的信息复制进去。

在gitbash中,查看是否成功

ssh -T git@github.com

####6、将hexo部署到GitHub

这一步,我们就可以将hexo和GitHub关联起来,也就是将hexo生成的文章部署到GitHub上,打开站点配置文件 _config.yml,翻到最后,修改为
YourgithubName就是你的GitHub账户

deploy:
  type: git
  repo: https://github.com/YourgithubName/YourgithubName.github.io.git
  branch: master

这个时候需要先安装deploy-git ,也就是部署的命令,这样你才能用命令部署到GitHub。

npm install hexo-deployer-git --save

然后

hexo clean
hexo generate
hexo deploy

其中 hexo clean清除了你之前生成的东西,也可以不加。
hexo generate 顾名思义,生成静态文章,可以用 hexo g缩写
hexo deploy 部署文章,可以用hexo d缩写

注意deploy时可能要你输入username和password。

过一会儿就可以在http://yourname.github.io 这个网站看到你的博客了!!

####7、设置个人域名

现在你的个人网站的地址是 yourname.github.io,如果觉得这个网址逼格不太够,这就需要你设置个人域名了。但是需要花钱。

注册一个阿里云账户,在阿里云上买一个域名,我买的是 yangz.host,各个后缀的价格不太一样,比如最广泛的.com就比较贵,我的这个.host很便宜,看个人喜好咯。

你需要先去进行实名,实名认证时上传扫描件不然认证很大可能一直失败,然后在域名控制台中,看到你购买的域名,购买完别忘解析。

点解析进去,添加解析。

其中,192.30.252.153 和 192.30.252.154 是GitHub的服务器地址。
注意,解析线路选择默认,不要像我一样选境外。这个境外是后面来做国内外分流用的,在后面的博客中会讲到。记得现在选择默认!!

解析完,登录GitHub,进入之前创建的仓库,点击settings
GitHub Pages下Custom domain 设置Custom domain,输入你的域名yangz.host

最后,在gitbash中,输入

hexo clean
hexo g
hexo d

过不了多久,再打开你的浏览器,输入你自己的域名,就可以看到搭建的网站啦!

接下来你就可以正式开始写文章了。

hexo new newpapername

然后在source/_post中打开markdown文件,就可以开始编辑了。当你写完的时候,再

hexo clean
hexo g
hexo d

就可以看到更新了。

####8、gitLub项目访问打不开的常见问题
1、http和https的原因,这个看gitLub的Setting下GitHub Pages可以看到你的项目访问地址;

2、搭建时明确提示的gitLub的仓库创建和你用户名必须相同的原因,若确实不一致只能在gitLub的Setting–>Options下重新命名;

3、若提示无法访问网站,本地电脑可能需要注册域名访问C:\Windows\System32\drivers\etc\hosts文件结尾加上

...
...
185.199.108.153 yourName.github.io
185.199.108.153 yourhost(你的域名)

4、404无法访问网站时检查根目录下的_config.yml文件是否配置正确,注意变量:后要加空格。

deploy:
  type: git
  repo: http://github.com/wapchief/wapchief.github.io.git
  branch: master