如何在Windows下使用Rsync部署hexo博客

其实主要是Rsync的坑爹权限配置。

Hexo配置

只需要在_config.yml下的deploy中写入:

1
2
3
4
5
6
7
8
type: 'rsync'
host : your_host_name
user : your_user_name
root : where_the_files_should_belong # for nginx users, please notice file privileges might be a problem.
port : 22
delete : true
verbose : true
ignore_errors : false

别忘了npm install hexo-deployer-rsync --save哦!

Rsync在Windows下的安装

有很多客户端,我选用了cwRsync。不过他家网站似乎容易崩?所以还是去archive.org里边儿找吧……https://archive.org/download/cwRsync_5.5.0_x86_Free/cwRsync_5.5.0_x86_Free.zip

搞完之后,把bin里边的东西拷到你想要的位置,并且将rsync.exe所在的目录添加至环境变量。

好的……几乎大功告成了。但是别忘了,我们还是有证书的好,这样就不用每次慢悠悠打密码了。

rsync.exe的上一级目录中,创建新目录home\[username]\.ssh\,并在执行ssh-keygen,将公钥和私钥放在该放的位置。创建.ssh\config,放入如下内容:

1
2
3
Host [yourhostname]
User [youruser]
IdentityFile [yourprivatekey]

理论上来说,你应该可以用了。执行hexo d,如果没有错误,你就完工了。

然而,文件权限方面,你可能会遇到一些问题。像这样:bad owner or permissions on /home/[yourusername]/.ssh/config

原因是,ssh要求文件必须仅为用户所有,并仅能为用户修改。所以,你需要点击下图的编辑:

把这里删到只剩你一个用户,并将你自己的权限设为完全控制。同样地,处理你的公钥和私钥。

好的,rsync应该可以用了。

部署

1
2
3
hexo clean
hexo g
hexo d

你应该已经明白了,还要说吗?

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×