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

知识点

命令行

  • CMD

生成密钥

1
ssh-keygen -t rsa

CMD 设置 UTF8 编码

1
chcp 65001

服务端

配置文件

1
vi /etc/rsyncd.conf

看看端口

1
netstat -ntpl

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

1
yum -y install xinetd rsync

启动

1
2
service xinetd restart
service rsyncd restart

就好了!

发布博客

安装 HEXO

1
npm install hexo-cli -g

配置文件

_config.yml

1
2
3
4
5
6
7
8
9
10
11
# 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

发布

1
2
hexo g
hexo d

如果在 Linux 上或 Mac 上这样就成功了

Windows 上安装

Win10 先更新到新版本

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

安装 Linux

下载地址

https://aka.ms/wslstore

注意通过上面的连接下载的为新版本20.04
也可以搜索Ubuntu 18.04 LTS下载旧版本
建议安装Ubuntu 18.04 LTS

安装 Ubuntu

报错

WslRegisterDistribution failed with error: 0x8007019e
The Windows Subsystem for Linux optional component is not enabled. Please enable it and try again.
See https://aka.ms/wslinstall for details.

1.win+x,选择 Windows PowerShell(管理员) 2.输入:

1
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

3.回车,输入 Y,重启! 4.重新打开已经安装的子系统,等几分钟,输入账户和密码。

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

进入 Ubuntu

1
bash

切换为 root 用户

1
sudo su

安装 Node 和 NPM

更新 Ubuntu 软件源

1
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

安装 nodejs

1
sudo apt-get install -y nodejs

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

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

恢复

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

解决下载慢问题

安装编译环境

1
2
sudo apt-get update
sudo apt-get install build-essential libssl-dev

设置 npm 镜像

1
npm config -g set registry https://registry.npm.taobao.org

Node 版本切换

Linux

注意

这个和 nvm 作用一样 安装其一就可以

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

1
sudo npm install n -g

安装 nodejs12

1
sudo n 12

其它版本安装

1
2
3
sudo n latest
sudo n stable
sudo n lts

删除某个版本

1
sudo n rm 10.13.0

使用 n 切换版本(按上下键选择版本后,回车)

1
2
3
4
5
6
sudo n  # 回车后选择版本
node/10.13.0
ο node/10.15.3
node/11.0.0
node/11.8.0
node/12.2.0

查看安装的版本

1
2
sudo node -v
sudo npm -v

注意

不要安装新版,我安装的 14 就会导致生成页面全是空白。我这里推荐 12 版本。

安装 rsync

系统一般自带,这步可跳过,没有再安装。

1
apt install rsync

测试 rsync 是否可用

进入项目后

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

发布

1
rsync -avz ./public/ root@110.110.110.110:/data/myblog/

安装 HEXO

安装 Hexo

1
npm install hexo-cli -g

部署

1
2
sudo hexo g
sudo hexo d

免密发布

Ubuntu 系统的路径

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

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

.ssh 的目录在

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

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

其他用户路径

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

还要设置文件的访问权限

1
chmod 700 ./*

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