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

博客的域名解析

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

DNS problem: NXDOMAIN looking up XXX

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

本地hexo的安装


略...

服务器(vps)环境配置

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

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

新建git仓库

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

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

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

deploy:
  type:  git
  repo:
    vps: [email protected]:/path/your/blog/blog.git

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

使用ssh免密码登录服务器

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

ssh-copy-id [email protected]