【看这一篇就够了】halo的迁移以及部署https域名

908 阅读3分钟

这几天之前的halo.perche.cc博客要到期了,这个域名对应的服务器是买了一个月用来练手的。既然到期了,那就不续费了。干脆试一试halo系统自带的数据迁移功能,并上个ssl认证,保证安全性。

本博客操作环境基于

halo 版本:1.4.11 数据库:H2 1.4.197 (2018-03-18) 运行模式:production 腾讯云的轻应用服务器,使用的宝塔云面板应用

如果有问题,可以联系邮箱 perchecc@163.com

第一步 备份旧数据并导出

打开halo的cms后台,找到系统 - 小工具菜单 找到 博客备份,选择数据导出

image.png

会看到一个抽屉栏,选择备份,这时候服务器会在后台备份文章和一些默认配置数据(注意,主题不会备份,附件库里的图片也不会备份,请先手动留存),然后稍等一会,刷新页面,会在历史文件里看到你备份的数据,点击它,下载下来。

image.png

第二步 安装新系统

请先安装好必备软件 nginx,docker,ftp,php,mysql

image.png

  1. 我们在【镜像管理】中,需要把Halo镜像拉过来。这里我们采用的是 ruibaby/halo

image.png

  1. 我们在ssh远程执行命令
docker run -d --name halo -p 8090:8090 -v ~/halo:/root/halo ruibaby/halo

执行过程中可能会遇到问题

提示

Got permission denied while trying to connect to the Docker daemon socket

我们通过执行命令

sudo gpasswd -a $USER docker 
newgrp docker

把普通用户加入到docker组中, 再重新执行前面的命令

这时候,我们会在docker容器列表里看到已经部署好的容器

image.png

  1. 放行端口 在我们的服务器,有安全组或者防火墙的,需要设置tcp协议 8090端口放行。 然后我们就可以通过服务器ip+8090端口,开始访问安装halo了

  2. 安装halo

image.png

我们选择数据导入,把第一步导出的json文件上传,

这时候我们的数据就迁移过来啦,哈哈哈

第三步 配置域名和https

配置域名,可以参考我的另一篇文章 宝塔LINUX面板NGINX反向代理配置方法,这里就不赘述了

下面我们来说说配置https,确保网站访问安全

首先,我们要去腾讯云服务器申请个ssl证书,我申请的域名证书是www.perche.cc

如果你也是腾讯云服务器,可以参考下面这张截图,

image.png

我们下载这个证书后,得到一个类似www.perche.cc_nginx.zip的文件,解压它,有2个文件是我们需要的 www.perche.cc.key www.perche.cc_bundle.pem

image.png

我们分别拖动它们到浏览器中,会得到各自得到一串文字,

image.png

image.png

我们打开宝塔面板-网站-设置-SSL,把这两段文字分别粘贴到对应文本框中,然后保存

image.png

ok,https也配置成功,撒花~

本教程就到此结束啦,有不懂的可以随时邮箱 perchecc@163.com 或者评论区联系我,3Q~