张登友,张登友的博客,张登友的网站——
解决速度过慢
由于 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
再进行部署