在VPS上配置hexo博客

0.写在前面

从网上看到SpringWon写的关于 在VPS上配置hexo博客,结合自己在Vps上搭建的经历,整理步骤如下。

需要的准备:

  • 一个VPS服务器,这里我使用Vultr提供的服务,VPS服务器为Centos
  • 一台可以上网的Ubuntu电脑或者Mac笔记本,我这里使用的是Ubuntu16.04LTS
  • 基本的命令行操作和基础的计算机网络知识
  • 域名如果没有的话使用ip也行。

其实静态网页完全可以放到Github Page上,大家可以看我的github page主页,效果和个人vps效果是一样的。

1.开始搭建

总体步骤是,在客户机上安装hexo,git。在Vps上安装git,nginx,创建新用户git,以及配置Git Hooks。

1) 在客户机上安装hexo,git。
2) 为vps配置ssh访问。
3) 在服务器上装nginx。
4) 在vps 创建git账户,
5) 在服务器上创建blog.git 路径,并创建/var/www/blog目录,为把此目录赋予git用户相应的操作权限.

1
sudo chown git:git  /var/www/blog

5) 为Hexo配置deploy路径,修改hexo配置文件_config.yml中的deploy选项, hexo 支持配置多个repo地址。

1
2
3
4
5
6
deploy:
type: git
message: update
repo:
s1: git@YOURDOMAIN:blog.git,master
s2: git@YOURDOMAIN:blog.git,master

5 配置Git Hooks

本地deploy只是把静态文件push到了VPS的git仓库里。使用git hooks在每次push完成后,执行一段脚本,把blog.git里的内容clone出来,再复制到/var/www/blog目录。就可以实现博客的更新了。

1
2
3
$ cd ~/blog.git/hooks
$ touch post-receive
$ vi post-receive

使用下面的脚本

1
2
3
4
5
6
7
8
 #!/bin/bash -l
GIT_REPO=/home/git/blog.git
TMP_GIT_CLONE=/tmp/blog
PUBLIC_WWW=/var/www/blog
rm -rf ${TMP_GIT_CLONE}
git clone $GIT_REPO $TMP_GIT_CLONE
rm -rf ${PUBLIC_WWW}/*
cp -rf ${TMP_GIT_CLONE}/* ${PUBLIC_WWW}

更改脚本权限

1
chmod +x post-receive

参考资料

分享到