使用hexo部署静态blog

Table of Contents

安装hexo

Hexo

  1. 文档👇 (有问题查文档 )

    **官方文档** github

  2. 使用主题 (fluid)

    配置指南 github

“Hexo是一个快速,简单且功能强大的博客框架。您使用Markdown(或其他标记语言)编写帖子,然后Hexo会在几秒钟内生成带有精美主题的静态文件” - - (官方文档)

安装

网上教程大部分都是安装node,git。有些在服务器上自行部署的还要安装git服务。刚开始有点懵,没有搞懂其中的关系。在服务器上搭建了整套的东西。

如果你是部署到自己的服务器上,那么就只需要在服务器上部署git服务, 每次写完的文章使用hexo生成静态文件,然后同步到你自己的服务器上。 使用nginx转发就可以访问了 如果你部署到GitHub Pages上的话,那么你需要在你电脑上安装git、node, 本地编写新文章后使用git同步到github上。

  • node.js (hexo主要使用node编写)

  • git (主要用于拉取和同步代码)

    【自建git服务】 这个是在服务器上搭建自己的git服务

配置git hook

使用git hook的目的是为了自动同步每次提交到服务器的静态文件

官方介绍文档git 钩子

#!/bin/bash

GIT_REPO=/srv/program/myblog.git
TMP_GIT_CLONE=/var/www/tmp_hexo_blog
PUBLIC_WWW=/var/www/hexo_blog
rm -rf ${TMP_GIT_CLONE}
git clone $GIT_REPO $TMP_GIT_CLONE
rm -rf ${PUBLIC_WWW}
cp -rf ${TMP_GIT_CLONE} ${PUBLIC_WWW}

git hook脚本参照了 flyky 的文章

如果git能正常提交,但是钩子脚本没有生效,一般情况下是因为文件目录读写权限的问题,仔细检查相关目录权限就可以了

PUBLIC_WWW 这个目录为hexo生成的静态文件目录

配置nginx

安装参考:👇

sudo yum install nginx

nginx安装完成后,更新配置文件,一般在conf.d文件夹中添加conf文件,方便不同项目管理

location / {
                alias /var/www/hexo_blog/;
        }

然后重启nginx服务即可以使用ip访问了。

其他

  • 要想使用自己的域名,https访问等需要单独购买域名,配置ssl证书等。