VPS搭建Hexo教程

系统重装,换电脑或者折腾VPS,都涉及到再次安装Hexo,特将过程记录在此。需要指出的是,本人使用的是Windows10+Linux子系统(Ubuntu)
总体分为两部分:本地环境配置、服务器端配置。

1、进入Linux子系统,准备开始

打开cmd,或者PowerShell(现在微软已经推荐使用PowerShell)

1
bash

2、安装Node.js

根据官网的文档,通过以下命令使用包安装器安装Node.js

1
2
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs

记得实际操作的时候,安装的版本很低,在安装Hexo的时候,提示版本低。干脆就顺带着升级到最新版吧:

1
2
npm install -g n
sudo n stable

记得有提示权限的错误,所以加上sudo。

3、配置nginx

1
2
3
cd /etc/ngixn/sites-enabled
sudo cp default zimohan.com
vi zimohan.com

配置server中的listen、root及server_name。并新建与root相对应的文件夹,用以存放网站文件,一般放在var/www/。

4、git服务器端配置

创建Git裸仓,新建blog.git作为远程git仓库,hexo本地生成的静态文件同步至此。

1
2
mkdir ~/blog.git && cd ~/blog.git
git init --bare

配置hooks脚本,用以将git静态文件更新到网站文件夹。

1
vi ~/blog.git/hooks/post-receive

然后输入以下内容(删除原有的网站目录,再将git仓复制过去)

1
2
3
#!/bin/bash
sudo rm -rf /var/www/zimohan.com
sudo git clone ~/blog.git /var/www/zimohan.com

赋予post-receive脚本执行权限.

1
chmod a+x ~/blog.git/hooks/post-receive

5、修改hexo的部署设置

修改_config.yml的deploy字段

1
2
3
4
deploy:
type: git
repo: zimocode@zimohan.com:~/blog.git
branch: master

运行hexo d开始同步文件到服务器,可能会报错:

1
Deployer not found:git

解决办法:

1
npm install hexo-deployer-git --save

可能还会报错,ssh的密钥问题

6、ssh报错

找到ssh公钥,并将公钥复制到服务器,对于Google cloud,在compute engine》元数据里面。
本地ssh公钥路径为,~/.ssh文件夹下,.pub后缀文件即是。