将hexo部署到云服务器


张登友,张登友的博客,张登友的网站——

解决速度过慢

由于 GitHub 服务器没有在国内,而 hexo 博客部署是默认在 GitHub 上,访问速度特别慢,一个小网页也要加载很久,这时候我便想能不能放在自己的云服务器上,查阅了很多资料后便发现这种想法是可以的。
首先,需要一台云服务器和一个已经备案的域名(没有备案的直接用公网 IP 进行访问),我的服务器是 centos7 的,第一步就是配置 ssh 公钥登陆(避免每次更新文章都要输入密码)。

1.安装 git 和 nginx

apt-get update
apt-get install git-core nginx

2.配置 nginx

用于存放生成的静态文件

mkdir /www/wwwroot/blog

3.配置 Git Hooks

mkdir ~/blog.git && cd ~/blog.git
git init --bare

4.配置脚本

配置 hooks 脚本,post-recevive 脚本将在 blog.git 仓库收到 push 时执行。

vim ./hooks/post-receive

脚本的原理,删除原有的 /www/wwwroot/blog 目录,然后从 blog.git 克隆新的博客静态文件

#!/bin/bash
rm -rf /www/wwwroot/blog
git clone /root/blog.git /www/wwwroot/blog

给 post-receive 脚本执行权限

chmod +x ./hooks/post-receive

5.部署静态文件

修改_config.yml

deploy:
   type:git
   repo:root@192.168.1.1:/root/blog.git
   branch: master

6.部署博客

hexo 成新的博客静态文件,然后通过 Git 将其同步到云服务器的 blog.git 仓库

hexo clean && hexo g && hexo d

然后通过自己的域名即可访问。

7.报错

如果不能部署报错,请执行

npm install hexo-deployer-git --save

再进行部署


文章作者: 张登友
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 张登友 !
  目录