为了让自己更加方便发布博客,我的需求就是希望直接用hexo g
就能直接把博客从本地发布到我博客服务器,网上很多教程都是教你怎么发布到github上面的,实际原理类似,无非就是用自己服务器构建一个git server,然后远程发布就行了。
服务器端操作
登录你博客所在的服务器,按步骤执行命令。
- 安装git
1
2
3git --version # 如无,则安装
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
yum install -y git - 创建用户和初始化仓库
这里其实可以用其他用户,比如www,但是我为了区分服务器功能还是用了git账户1
2
3
4
5
6
7
8
9useradd git
passwd git # 设置密码
mkdir -p /www/git # 创建git server提交目录,可以是任何目录
chown -R git:git /www/git # 授权为git目录
su git # 切换为git账户
cd /www/git/
git init --bare blog.git # 创建一个仓库
vim blog.git/hooks/post-receive # 配置git server上传目录等信息post-receive
文件内容如下:其中1
2!/bin/sh
git --work-tree=/www/wwwroot/blog --git-dir=/www/git/blog.git checkout -f--work-tree
配置你博客webroot目录即可,--git-dir
是你git server目录 - 进行相关文件授权
1
2
3chmod +x blog.git/hooks/post-receive # 这步很重要,否则你在webroot目录看不到提交的文件
exit # 切回root账户
chmod -R 777 /www/wwwroot/blog # 授权git用户可读写该目录,如果你是用www账户,可以不用执行 - 修改
vi _config.yml
修改vi _config.yml
文件如下图所示,其中server_ip就是你blog所在的服务器。