Hexo 快速建站

目标

  • 在一台 CentOS 7 的 ECS 云服务器上快速部署基于 Hexo 的博客站点
  • 部署完成后可在本地快速发布博文到服务器上,进行个人站点展示

准备工作

  准备一台服务器,进行以下工作。

内核升级

1
2
# 升级 CentOS 所有包
sudo yum -y update

安装最新版 Git

1
2
3
4
5
6
7
8
9
10
# 移除旧版 git
sudo yum -y remove git
sudo yum -y remove git-*
# 更换 yum 源
sudo yum -y install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm
# 安装
sudo yum install git

# 查看版本
git --version

新建 hexo 用户

  专用创建一个 hexo 用户,存放 hexo 相关数据

1
2
3
useradd hexo
# 输入密码
passwd hexo [passwd]

初始化 Git 裸库

1
2
3
4
su - hexo
mkdir blog blog-git
cd blog-git
git init --bare blog.git

创建 Git Hook (钩子)

1
vim /home/hexo/blog-git/blog.git/hooks/post-receive

  指定 Git 的源代码 和 Git 配置文件

1
2
#!/bin/bash
git --work-tree=/home/hexo/blog --git-dir=/home/hexo/blog-git/blog.git checkout -f

  保存并退出后, 给该文件添加可执行权限

1
chmod +x /home/hexo/blog-git/blog.git/hooks/post-receive

安装 Nginx

1
2
wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.20.2-1.el7.ngx.x86_64.rpm
rpm -ivh nginx-1.20.2-1.el7.ngx.x86_64.rpm

版本查看

1
2
nginx -v
nginx version: nginx/1.20.2

配置

1
2
3
4
5
6
7
8
9
10
vim /etc/nginx/nginx.conf

......
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name www.xxx.com; # 填写个人域名
root /home/hexo/blog;
}
......

本地

配置

  修改本地_config.xml文件,注意服务器需要使用 ssh 方式登陆(建议打通服务器免密登录方式):

1
2
3
4
deploy:
type: git
repo: hexo@xx.xx.xx.xx:/home/hexo/blog-git/blog.git
branch: master

  配置工作完成后,就可以将本地的 Hexo 数据部署到服务器了

部署步骤

  具体过程如下:

  • ① 清除缓存

    1
    hexo clean
  • ② 生成静态页面:

    1
    hexo generate
  • ③ 将本地静态页面目录部署到云服务器

    1
    hexo deploy

  这样,我们就完成了 Hexo 网站的搭建,之后通过服务器 IP 或者域名就可访问啦!

0%