使用hexo部署静态blog
Table of Contents
安装hexo
-
安装node环境
npm install hexo
-
安装git
Hexo
“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证书等。