在 VPS 上部署 hexo blog 有两种最常见的方式 ,第一种是最常见的做法是在 VPS 上搭建完整的 node 环境后用 nginx 反向代理本地 localhost:4000 然后实现访问;另一种类似于托管在 Github 之上仅需要 nginx 做静态环境(适合一些小内存的VPS),在本地生成静态文件后 Push 到 Server 端利用 Git hooks 自动实现部署到 nginx 根目录实现完成访问。
这里介绍下我用的第二种方案。
- 首先需要在服务器端搭建好 Git 和 Nginx 环境,然后创建 hexoBlog.git 文件夹并进行 Git 仓库初始化。
- 初始化完成后进入 hooks 目录下新建 post-receive 文件
- 复制下面脚本
1 2 3 4 5 6 7 8 9 10 11
| 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}
|
- 赋予脚本执行权限
- 本地进行部署
部署成功后可以看到最新文件会自动同步至 nginx 根目录下,部署失败则会整体回滚不会影响之前的文件。