hexo VPS 搭建个人博客

之前使用过GitHub的一项服务与hexo写博客,访问速度不是很理想。平时又很懒,导致写博客这件事中断了好久。重新写博客也是为了让自己管理好时间,并且从日常工作中能够提取出有用的知识,通过写博客来巩固。打算将博客搭在VPS主机上面。

博客的域名解析

如果要使用HTTPS协议来链接,这一步最好首先完成,因为DNS解析会有缓存,在使用Let’s Encrypt 生成证书的时候,可能会出现以下错误:

DNS problem: NXDOMAIN looking up XXX

这是由于域名解析没有生效,导致的。解决办法是等一会儿…

本地hexo的安装

略…

服务器(vps)环境配置

使用oneinstack脚本工具安装nginx,Let’s Encrypt 等软件。

在oneinstack安装目录执行./vhost新增虚拟主机配置,填入相应信息。

新建git仓库

1
2
cd /path/your/blog
git init --bare blog.git

通过git-hooks同步网站内容,使用post-receive这个方式.

1
2
3
4
5
6
7
8
9
10
11
12
vim /path/your/blog/blog.git/hooks/post-receive
# 在文件中添加以下内容

#!/bin/sh
git --work-tree=/data/wwwroot/blog --git-dir=/path/your/blog/blog.git checkout -f

#赋予这个文件可执行权限(当前登录ssh用户)
sudo chmod +x post-receive

#注意网站根目录当前登录用户必须有可写权限 必须让执行post-receive用户对站点根目录具有写权限
sudo chown -R www:your /data/wwwroot/bolg
sudo chmod -R g+w /data/wwwroot/bolg

配置本地hexo _config.yml

1
2
3
4
5
6
deploy:
type: git
repo:
vps: [email protected]:/path/your/blog/blog.git

#其中VPS-IP为服务器ip地址,your是登录名

使用ssh免密码登录服务器

将本地ssh密钥添加至服务中authorized_keys

1
ssh-copy-id [email protected]