Hexo Blog
本文最后更新于:2020年5月5日 下午
本博客就是使用 Hexo 生成的,但是我平常使用的都是 Windows 系统,使用 Hexo 需要安装不少软件。
而我又不想安装很多软件,所以研究着怎么用虚拟机和 Windows 配合使用 Hexo。
下面就是具体的方法。
Hexo 安装
Node.js
在官方下载相应版本的 Node.js 安装包,
我使用 CentOS,下载了 Linux Binaries x64,是已经编译好的二进制文件,配置一下环境变量即可。
tar -xvJf node-v6.3.1-linux-x64.tar.xz
mv node-v6.3.1-linux-x64 /usr/local/soft
vi ~/.bash_profile
添加 PATH 路径
export NODEJS_HOME=/usr/local/soft/node-v6.3.1-linux-x64
export PATH=$PATH:$NODEJS_HOME/bin
保存退出
source ~/.bash_profile
node -v
Git
可直接使用 yum 安装
yum install git
Hexo
npm install -g hexo-cli
等待几秒钟,安装完成后可发现在 NODEJS_HOME/bin
路径中增加了 hexo
的二进制文件。
Linux 虚拟机设置共享文件夹
安装 samba
yum install samba samba-winbind
配置 samba
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
vi /etc/samba/smb.conf
写入文件
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos
interfaces = eth0 # 监听网卡
security = user
passdb backend = tdbsam
guest account = nobody
[share]
public = no
path = /home/user/share
browsable =yes
writable = yes
配置防火墙
CentOS 7 使用的是 firewall 防火墙,我首先把网络设置到 home 类型,然后添加了 samba 服务。
firewall-cmd --zone=home --add-service=samba
firewall-cmd --permanent --zone=home --add-service=samba
开启 samba
systemctl enable smb.service
systemctl restart smb.service
设置密码,使用 root,方便更改文件
smbpasswd -a root
可使用以下命令查看是否成功设置
smbpasswd -e
配置共享文件夹
mkdir -p /home/user/share
cd /home/user
chmod 755 share/
chcon -t samba_share_t share/
在 Windows 资源管理器中输入虚拟机地址 \\192.168.61.128
,可看到共享的文件夹 share
。
新建 Hexo
hexo init <folder>
cd <folder>
npm install
恢复 Hexo
只要保存 package.json
文件,在文件夹内执行以下命令即可恢复。
npm install
主题配置
如果安装了其他主题,请主动安装恢复,否则调试会出现错误(WARN No layout: index.html
)。
Blog 调试部署
调试
本地查看
hexo server // 默认 localhost:4000
hexo server -i 192.168.1.2 -p 5000 // 修改 IP 及 Port
部署
安装:hexo-deployer-git
npm install hexo-deployer-git --save
配置:_config.yml
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: git@xxx.git
branch: xxx
Git 设置:用户名邮箱以及 ssh key 相应配置
发布:hexo generate --deploy
CICD
github 自从被微软收购了,真是不差钱,有了 Actions
直接线上编辑文章自动部署,本地也不需要搭什么环境了。^-^
leancloud.memo
站点中使用 leancloud 中统计,但是免费版 api 调用有限制,经常会出现 429 错误。
那么就需要保存更新 memo 本地数据库文件:
1 |
|
这里遇到一个问题,
deploy
时插件更新 memo 文件在拷贝 public 文件夹之后,所以导致新的 memo 文件不能传到站点上,目前简单的解决办法就是部署两次。