主要记录一下本次耗时半天博客的迁移过程。
服务器部署
Hexo框架的原理就是生成模板式的静态页面, 然后通过git推送到仓库。
所以在服务器上要做的事也很简单:
- 创建git仓库
- 创建静态web服务器
创建git仓库
这里其实可以细化为两步, 因为git仓库中的代码必须要暴露出来供web服务器访问, 所以就多了一个创建钩子和静态目录的过程。
为了避免麻烦的权限问题, 我选择全部在root账号下完成。
- 安装git
- 将公钥上传到服务器root用户下(推送无需输入密码)
1 | ssh-copy-id -i ~/.ssh/id_rsa.pub root@server-ip |
- 在
/var
目录下创建仓库(此步完成后, 可以使用git clone root@server-ip:/var/repo/blog.git 来测试是否能正常连接仓库
1 | mkdir /var/repo |
- 创建静态文件目录
1 | mkdir /var/www/hexo |
- 配置钩子
1 | vim /var/repo/blog.git/hooks/post-receive |
- 本地
_config.yml
, deploy选项中加入
1 | - type: git |
完成后, 进行推送: hexo d
,
成功推送到/var/www/hexo
目录下即成功。
配置nginx服务器
- 安装nginx,
yum install nginx -y
- 使用yum安装nginx时, 默认的目录如下
1 | /etc/nginx, 配置文件目录 |
- 进入nginx目录(yum安装时, 为/etc/nginx),
在
conf.d
目录下新建blog.conf
文件, 写入如下内容
1 | server { |
- 打开nginx目录下的
nginx.conf
文件, 修改用户为'root'
1 | user root; |
- 重启nginx服务
1 | systemctl restart nginx |
完成后, 浏览器访问服务器ip, 显示博客界面即为成功。
图床迁移
在此之前图床一直是白嫖的github
免费仓库,
但github图床的连接是被墙的, 既然博客已经迁移到国内服务器,
图片还流落海外就不太合适。
我的解决方案是阿里云OSS + picgo, 没错, 还是picgo, 主要是它配合typora是真舒服。
阿里云OSS图床创建: Hexo + Butterfly 建站指南(七)阿里云 OSS 图床
picgo插件进行图床迁移: 利用 PicGo 快速迁移 Gitee 图床外链图片到服务器
域名备案
域名备案到服务器厂商。
HTTPS配置
为域名申请SSL证书, 这里不赘述这部分。
下载证书文件包含
域名.pem,域名.key
, 将两个文件上传到服务器。在
/etc/nginx/conf.d
目录下新增配置文件ssl.conf
, 写入如下内容
1 | server { |