将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.部署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

再进行部署


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