前言

近来一直在考虑更换本站的博客平台,目前一直使用的是WordPress,已经使用了6年了。WordPress功能强大,但是后台速度上慢了一些,因其更新服务器在国外,更新也不是很方便。博主当前主要使用的开发语言是Java,WordPress基于PHP开发,功能自定义成本更高。

经过一番搜索,想兼顾后台管理功能,所以放弃了静态博客,最终决定先试一下开源的Halo博客,基于Java开发,也可以更方便自定义功能。

之前搭建Docker开发环境免费领取的亚马逊云科技EC2服务器仍然可以免费使用,于是我还是在上面部署一个Halo博客程序先试用一段时间,评估一下是否切换迁移过去。本文记录部署步骤。

Docker部署

之前已经搭建过Docker环境,所以不需要重复搭建了,没有Docker环境可以参照搭建Docker开发环境这篇文章,或者看下一章介绍的1Panel面板方式,安装面板过程中可以自动安装Docker。

Halo官方已经提供了Docker镜像,可以直接按照官方文档提供的命令快速部署。默认使用的是H2数据库,正式环境建议还是要更换到MySQL或者PostgreSQL数据库,这些都是支持的。

docker run -it -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 registry.fit2cloud.com/halo/halo:2.19
# ~/.halo2需要更换到自己的挂载目录

到此其实就已经部署完成了,这就是使用Docker的好处。

1Panel部署

1panel是一个可视化的Linux面板,用起来比较方便,也提供了应用商店可以可视化的安装很多工具和服务,也包括Halo。

# ubuntu
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
# RedHat / CentOS
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh
# Debian
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

根据领取服务器时选择的系统镜像使用对应的一键安装命令。执行过程中会有几个选项,是否配置Docker加速镜像,如果也是使用的亚马逊云科技EC2服务器,就不需要配置,路径可以直接使用默认路径,最后配置一下面板访问的相关信息,包括端口、面板入口(就是访问路径最后的后缀)、用户名和密码。

安装1panel的过程中,如果检测到没有安装Docker,是会自动安装Docker,所以使用1Panel可以省略自己安装Docker的步骤。安装完成后记录下终端给的访问信息,之后打开面板用用户名密码登录进去。

在应用商店先安装一下OpenResty和MySQL,安装MySQL需要注意修改一下root密码,端口也可以自己改一个,如果端口外部访问打开了,务必设置一个复杂的密码!

最后还是在应用商店找到Halo,安装的时候数据库选择MySQL,并把刚安装的MySQL连接信息填进去,安装完成打开ip:8090就能打开Halo初始化登录页面。

最后就可以在控制台配置网站内容了。