- 解决速度过慢
- 由于GitHub服务器没有在国内,而hexo博客部署是默认在GitHub上,访问速度特别慢,一个小网页也要加载很久,这时候我便想能不能放在自己的云服务器上,查阅了很多资料后便发现这种想法是可以的。
- 首先,需要一台云服务器和一个已经备案的域名(没有备案的直接用公网IP进行访问),我的服务器是centos7的,第一步就是配置ssh公钥登陆(避免每次更新文章都要输入密码)。
- 1.安装git和nginx
- 2.配置nginx,用于存放生成的静态文件
- 3.配置Git Hooks
- 4.配置hooks脚本,post-recevive脚本将在blog.git仓库收到push时执行。
- 5.部署hexo博客
- 6.部署博客
- 然后通过自己的域名即可访问。
解决速度过慢
由于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.部署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
再进行部署