在VPS上部署 hexo blog 常规的有两种解决方案

一、在 VPS 上搭建完整的生产环境然后用 Nginx 反向代理 VPS 本地的 localhost:4000 然后实现访问。

二、类似于托管在 Github 之上仅需要 Nginx 做静态环境(适合一些小内存的VPS);在本地生成静态文件后 Push 到 Server 端利用 Git hooks 自动实现部署到 Nginx 根目录实现完成访问。

这里介绍我用的第二种方案。

1、首先需要在服务器端完成 Git、Nginx 的安装和配置。

2、新建 Git 仓库目录,完成 git 仓库初始化

1
git --bare init

3、初始化完成后进入 hooks 目录下新建

1
vim post-receive

4、复制下面脚本

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash -l
GIT_REPO='/home/git/Repository/hexoBlog.git'

TMP_GIT_CLONE='/tmp/hexoBlog'

PUBLIC_WWW='/home/wwwroot/hexoBlog'

rm -rf ${TMP_GIT_CLONE}
git clone $GIT_REPO $TMP_GIT_CLONE
rm -rf ${PUBLIC_WWW}/*
cp -rf ${TMP_GIT_CLONE}/* ${PUBLIC_WWW}

5、赋予脚本执行权限

1
chmod  +x  pos-receive

6、本地进行部署

1
hexo d

push上去后就可以看到最新文件自动同步至 Nginx 目录下了。