hexo使用rsync部署到服务器

安装rsync

参考rsync在Windows中的安装使用的安装部分,安装软件。并将本地的ssh公钥添加到远程主机
hexo使用rsync的原理是,提供一个能使用ssh密钥登陆主机的账户,rsync使用该账户与密钥通过ssh登陆主机并传输文件。hexo的rsync deploy plugin主要是负责在后台执行命令:
rsync -avz /public/ username@host:remotepath
因此,hexo d的部署命令一定要在博客的根目录执行。

配置hexo

在hexo配置文件_config.yml中添加
deploy: type: rsync host: <host> //主机ip user: <user> //之前设置ssh的用户名 root: <root> //远程主机文件存储位置 port: [port] //ssh登陆端口,一般填写22 delete: [true|false] //是否删除远端存在而本地不存在的文件 args: //提供的其它rsync参数信息 verbose: [true|false] //输出详细信息,推荐true ignore_errors: [true|false] //即使出现IO错误也进行删除,推荐false
ingore_errors在delete为true的时候有效,当出错时,程序会继续运行删除文件。

部署

在博客根目录下运行
hexo g hexo d
注意:必须先进行生成,在部署,本质上是传输public文件夹的内容,若public的内容未更新或者不存在,则远程会不更新或者报错。
如果部署"Permission Denied"权限错误,对报错的文件夹或者文件运行chmod -R 777 dir即可。
💡
使用WSL的情况下,需要在WSL内执行;使用MobaXterm的话,需要在MobaXterm的Terminal中执行。

© Song 2015 - 2024