这几天之前的halo.perche.cc博客要到期了,这个域名对应的服务器是买了一个月用来练手的。既然到期了,那就不续费了。干脆试一试halo系统自带的数据迁移功能,并上个ssl认证,保证安全性。
本博客操作环境基于
halo 版本:1.4.11 数据库:H2 1.4.197 (2018-03-18) 运行模式:production 腾讯云的轻应用服务器,使用的宝塔云面板应用
如果有问题,可以联系邮箱 perchecc@163.com
第一步 备份旧数据并导出
打开halo的cms后台,找到系统 - 小工具菜单
找到 博客备份,选择数据导出,
会看到一个抽屉栏,选择备份,这时候服务器会在后台备份文章和一些默认配置数据(注意,主题不会备份,附件库里的图片也不会备份,请先手动留存),然后稍等一会,刷新页面,会在历史文件里看到你备份的数据,点击它,下载下来。
第二步 安装新系统
请先安装好必备软件 nginx,docker,ftp,php,mysql
- 我们在【镜像管理】中,需要把Halo镜像拉过来。这里我们采用的是
ruibaby/halo
- 我们在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容器列表里看到已经部署好的容器
-
放行端口 在我们的服务器,有安全组或者防火墙的,需要设置tcp协议 8090端口放行。 然后我们就可以通过服务器ip+8090端口,开始访问安装halo了
-
安装halo
我们选择数据导入,把第一步导出的json文件上传,
这时候我们的数据就迁移过来啦,哈哈哈
第三步 配置域名和https
配置域名,可以参考我的另一篇文章 宝塔LINUX面板NGINX反向代理配置方法,这里就不赘述了
下面我们来说说配置https,确保网站访问安全
首先,我们要去腾讯云服务器申请个ssl证书,我申请的域名证书是www.perche.cc
如果你也是腾讯云服务器,可以参考下面这张截图,
我们下载这个证书后,得到一个类似www.perche.cc_nginx.zip的文件,解压它,有2个文件是我们需要的
www.perche.cc.key
www.perche.cc_bundle.pem
我们分别拖动它们到浏览器中,会得到各自得到一串文字,
我们打开宝塔面板-网站-设置-SSL,把这两段文字分别粘贴到对应文本框中,然后保存
ok,https也配置成功,撒花~
本教程就到此结束啦,有不懂的可以随时邮箱 perchecc@163.com 或者评论区联系我,3Q~