使用Hexo发布博客(Windows环境)

知识点

命令行

  • CMD

生成密钥

ssh-keygen -t rsa

CMD设置UTF8编码

chcp 65001

服务端

配置文件

vi /etc/rsyncd.conf

看看端口

netstat -ntpl

如果没有873端口的话,就肯定是没安装xinetd!

yum -y install xinetd rsync

启动

service xinetd restart
service rsyncd restart

就好了!

发布博客

安装HEXO

npm install hexo-cli -g

配置文件

_config.yml

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: rsync
  host: 119.3.212.206
  user: root
  root: /data/myblog/
  port: 22
  delete: true
  verbose: true
  ignore_errors: false

发布

hexo clean
hexo deploy

如果在Linux上或Mac上这样就成功了,但是在Windows上我们需要安装rsync客户端,下面就说一下Windows上的客户端的两种方式

方式一

先说结果这种方式只能用命令推成功 用Hexo自动发布没有成功

下载安装cwRsync

Windows上需要安装客户端,否则无法用rsync命令上传至服务器,安装完成后要设置环境变量

链接:https://pan.baidu.com/s/1FTiyrKMA4LIzugk4nUPbYA 提取码:x829

或者

官网下载地址: https://www.itefix.net/cwrsync

打开终端

cmd

安装HEXO

测试一下:

rsync -avz ./public/ root@119.3.212.206:/data/myblog/

我这里这种方式一直不成功 报下面的错误

dup() in/out/err failed rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.3]

原因是:

不要用第三方Shell 例如Git Bash,用CMD才可以。

但通过以下命令部署

hexo g
hexo d

又报错误

Error: Could not create directory ‘/home/Jian/.ssh’. Host key verification failed.

cwRsync文件夹下建/home/Jian/.ssh即可并生成公钥和私钥,并把公钥内容复制到服务器的/root/.ssh/authorized_keys文件中即可。

注意.ssh为隐藏文件夹 直接命令进入即可

又报错误

Host key verification failed. rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.3]

这个问题到这就卡住了 我就只能换下面的一种方式了

方式二

Win10先更新到新版本

控制面板=>程序=>启动或关闭Windows功能=>勾选适用于Linux的Windows子系统

安装Linux

下载地址

https://aka.ms/wslstore

安装Ubuntu

安装后默认用cmd进入后输入bash即可进入

进入Ubuntu

bash

切换为root用户

sudo su

安装rsync

apt install rsync

进入项目后

cd /mnt/c/Users/Jian/Documents/project/myblog

发布

rsync -avz ./public/ root@119.3.212.206:/data/myblog/

但是我们并不能通过以下命令部署

hexo clean
hexo deploy

因为我们在Ubuntu中,里面没有安装Node环境也没有安装Hexo,只能重新安装了

密钥

Ubuntu系统的路径

C:\Users\Jian\AppData\Local\Packages

里面找到类似于CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc这样的文件夹

.ssh的目录在

C:\Users\Jian\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\root\.ssh

就可以把我们的公钥和私钥在这生成或者复制到这里

其他用户路径

C:\Users\Jian\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\psvmc\.ssh

还要设置文件的访问权限

chmod 700 ./*

这里不能给组和其它用户设置权限 否者也不行

安装Node和NPM

更新Ubuntu软件源

sudo apt-get update
sudo apt-get install -y python-software-properties software-properties-common
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update

安装nodejs

sudo apt install nodejs
sudo apt install npm

更新npm的包镜像源,方便快速下载

sudo npm config set registry https://registry.npm.taobao.org
sudo npm config list

恢复

sudo npm config set registry https://registry.npmjs.org

全局安装n管理器(用于管理nodejs版本)

sudo npm install n -g

安装最新稳定版的nodejs(stable版本)

sudo n stable

其它版本安装

sudo n latest
sudo n stable
sudo n lts

查看安装的版本

sudo node -v
sudo npm -v

安装HEXO

sudo npm install hexo-cli -g

部署

sudo hexo g
sudo hexo d

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券