目标

  • 在一台 CentOS 7.2 的 ECS 云服务器上快速部署基于 Hexo 的博客站点
  • 可以在本地简洁快速发布一篇博文到个人云服务器上, 用于个人站点展示

服务器配置

默认 ROOT 权限登录

nginx 安装配置

  • 安装nginx

    参考Nan's Blog的《搭建http服务器-nginx》文章 - (只需要安装启动即可,其它的配置可不管)。

  • nginx 配置(可选)

    注:如果这一步配置完,访问服务器 IP 或者域名显示不出来想要的效果,就不必执行这一步了(使用默认的/usr/share/nginx/html即可,注意配置Git时对应的路径改成/usr/share/nginx/html即可)

    创建文件目录, 用于博客站点文件存放, 并更改目录读写权限

    1
    2
    3
    4
    5
    mkdir -p /data/www/hexo

    chown -R $USER:$USER /data/www/hexo

    chmod -R 755 /data/www/hexo

    添加 index.html 用于检测配置 nginx 是否成功

    1
    vim /data/www/hexo/index.html

    添加如下代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <!DOCTYPE html>
    <html>
    <head>
    <title></title>
    <meta charset="UTF-8">
    </head>
    <body>
    <p>Nginx running</p>
    </body>
    </html>

    配置 nginx 服务器

    1
    2
    3
    vim /etc/nginx/nginx.conf

    # vim 查找: /listen 80

    通过 vim 查找功能找到如下代码, 并修改

    1
    2
    3
    4
    5
    6
    7
    8
    ......
    server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name www.xxx.com; # 填写个人域名(没有就不动)
    root /data/www/hexo;
    }
    ......

    访问服务器 IP 或者域名显示

    Nginx running

    nginx 配置成功

Git 安装配置

  • 安装Git

    1
    yum install -y git
  • Git配置

    创建文件目录, 用于私人 Git 仓库搭建, 并更改目录读写权限

    1
    2
    3
    4
    5
    mkdir -p /data/GitLibrary

    chown -R $USER:$USER /data/GitLibrary

    chmod -R 755 /data/GitLibrary
    • Git 初始化裸库

      1
      2
      cd /data/GitLibrary
      git init --bare blog.git
    • 创建 Git 钩子(hook)

      1
      vim /data/GitLibrary/blog.git/hooks/post-receive

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

      1
      2
      3
      4
      5
      6
      #!/bin/bash
      # 上面的“nginx配置(可选)”成功使用以下配置:
      git --work-tree=/data/www/hexo --git-dir=/data/GitLibrary/blog.git checkout -f

      # 上面的“nginx配置(可选)”失败使用以下配置:
      git --work-tree=/usr/share/nginx/html --git-dir=/data/GitLibrary/blog.git checkout -f

      保存并退出

    • 给该文件添加可执行权限

      1
      chmod +x /data/GitLibrary/blog.git/hooks/post-receiv

本地配置

参考该篇博客:Hexo搭建博客教程

参考意思博客配置完后只需要再修改下_config.yml文件,具体如下:

1
#repo: 用户名@域名或 IP 地址:/data/GitLibrary/blog

部署步骤

将本地部署到服务器

  • 清除缓存

    1
    hexo clean
  • 生成静态页面:

    1
    2
    hexo g
    # 即:hexo generate
  • 将本地静态页面目录部署到云服务器

    1
    2
    hexo d
    # 即:hexo deploy

    这一步会让你输入服务器密码(每次)

    完成 Hexo 个人博客网站搭建, 通过服务器 IP 或者域名即可访问