使用sftp方式上传hexo网站到服务器
1.下载插件
1 | npm install hexo-deployer-sftp --save |
2.在ubuntu服务器上创建目录
使用ssh-keygen生成公钥与私钥,并添加公钥到ubutnu
生成方式其它教程都有就不再详细说,提交公钥的时候与github不同的是:github有指定位置填写公钥的字符串,而ubuntu服务器需要手动配置,放置到/{user_home}/.ssh/目录下authorized_keys这个文件中。
注意这个.ssh目录与你使用的用户名要相匹配。例如我使用的是root账户,那我的路径应该是/root/.ssh/。如果没有这个目录,请使用你的当前账户执行
1 | ssh-keygen -t rsa |
生成此路径,如果没有authorized_keys这个文件,手动新建此文件亦可。然后将本机生成的id_rsa.pub中的文本复制到此文件中。
配置_config.yml,deploy节点如下:
1 | deploy: |
此时使用hexo d即可发布到远程的ubuntu服务器中了。
配置deploy节点的时候有些需要注意的地方,privateKey需要填入的路径必须是反斜杠。
还有如果在发布的出现1
hexo No such directory /var/www/blog/categories
这样的提示注意清空一下你的remotePath文件夹下的文件。
另外deploy不仅可以使用加入公钥的方式。也可以使用用户名匹配密码的方式,配置如下:
1 | deploy: |
好了,今天就到这里。