解决速度过慢

由于GitHub服务器没有在国内,而hexo博客部署是默认在GitHub上,访问速度特别慢,一个小网页也要加载很久,这时候我便想能不能放在自己的云服务器上,查阅了很多资料后便发现这种想法是可以的。

首先,需要一台云服务器和一个已经备案的域名(没有备案的直接用公网IP进行访问),我的服务器是centos7的,第一步就是配置ssh公钥登陆(避免每次更新文章都要输入密码)。

1.安装git和nginx

  1. apt-get update
  2. apt-get install git-core nginx

2.配置nginx,用于存放生成的静态文件

  1. mkdir /www/wwwroot/blog

3.配置Git Hooks

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

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

  1. vim ./hooks/post-receive

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

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

给post-receive脚本执行权限

chmod +x ./hooks/post-receive

5.部署hexo博客

修改_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

再进行部署