hexo_github

使用Hexo+Github搭建个人网站

通常个人网站搭建最常见的方式:

1.Wordpress:动态网站,功能更强大。

2.Hexo:静态网站,简洁,快速,安全。

各自特点这里不多介绍,这里我们介绍Hexo搭建方法。

首先看这张架构图:

img

整个流程就是本地将 *.md 渲染成静态文件,然后Hexo Deploy发布到Github的repository,由GithubPages提供服务访问。

1. 基础环境配置

1
2
3
4
5
yum install git  #安装git

https://nodejs.org #安装nodejs

npm install -g hexo-cli #安装hexo

2. 本地Hexo搭建

1
2
3
4
5
6
7
8
9
mkdir blog && cd blog  #新建并进入hexo博客目录

hexo init #初始化hexo

npm install #初始化npm

npm install hexo-deployer-git --save #对应github_pages

npm install hexo-deployer-rsync --save #对应linux_rsync/一般不使用

3. 远程发布

a. 发布到GitHub

GitHub设置

1
2
3
4
5
6
7
8
9
A. 建立名为youname.github.io的库

B. 仓库设置中开启GitHugPages服务

C. 域名绑定:<默认访问地址:youname.github.io>

C-1. 建立CNAME文件,填写需要绑定的域名。

C-2. 域名做A记录或者CNAME映射。

Hexo关联配置

1
2
3
4
5
6
7
8
9
10
配置Hexo和GitHub关联:<_config.yml文件>

#Deployment
deploy:
type: git
repo:
github: git@github.com:yourname/yourname.github.io.git
# coding: git@git.dev.tencent.com:Beavan/Blog.git
# 支持同时部署到多个Pages服务
branch: master

SSH认证配置

1
2
3
4
5
配置GitHub SSHkey认证:

本地:ssh-keygen -t rsa -C "邮件地址" #生成ssh密钥

GitHub: SSH Keys中添加生成的id_rsa.pub

b. 发布到VPS

VPS环境配置

1
2
3
4
5
6
7
8
9
10
11
12
A. 建立git仓库:(GitLab/Gitea/Gogs) 

A-1. git init --bare blog.git #新建git裸仓库

A-2. vim blog.git/hoos/post-receive #编辑post-receive加入以下命令
git --work-tree=/home/wwwroot/blog --git-dir=/home/git/blog.git checkout -f

B. Web_Server配置

配置Nginx/Https虚拟主机指定到网页文件所在目录

C. 域名绑定: A or CNAME

Hexo关联配置

1
2
3
4
5
6
7
8
9
10
配置Hexo和GitHub关联:<_config.yml文件>

#Deployment
deploy:
type: git
repo:
# github: git@github.com:yourname/yourname.github.io.git
vps: git@blog.example.com:/home/git/blog.git
# 支持同时部署到多个Pages服务
branch: master

SSH认证配置

1
2
3
4
5
配置VPS SSHkey认证:

本地:ssh-keygen -t rsa -C "邮件地址" #生成ssh密钥

VPS: authorized中添加生成的id_rsa.pub

4. 常用命令

常用命令:

1
2
3
4
5
6
7
8
9
10
11
hexo new "postName" #新建文章

hexo new page "pageName" #新建页面

hexo generate #生成静态页面至public目录

hexo server #开启预览访问端口(默认端口4000)

hexo deploy #将.deploy目录部署到GitHub

hexo clean #清理缓存

缩写:

1
2
3
4
5
6
7
8
9
hexo n == hexo new

hexo g == hexo generate

hexo s == hexo server

hexo d == hexo deploy

hexo cl == hexo clean
您的支持将鼓励我继续创作!