写在前面

本文服务器为阿里云ECS云服务器2核2G,操作系统CentOS 7.9,Halo版本2.20.3,Docker版本26.1.4,Docker-Compose版本2.29.7

在默认设置的情况下,服务器安全组需要放行以下端口:

8090(halo),3306(mysql),33060(mysql-shell),80(http),443(https)

购买服务器

为了你的网站能够被大家访问,你需要一台云服务器,如果你还没有购买服务器,可以通过以下链接购买,获得专属折扣。

阿里云https://www.aliyun.com/minisite/goods?userCode=w1wgswfo

购买服务器时选择云服务器、VPS或者轻量应用服务器,Halo目前不支持云虚拟主机。

想要网站能够流畅运行,建议至少选择1核2G以上的配置;磁盘和网络并无特别要求,阿里云的磁盘和网络完全够用。

环境配置

Halo博客系统可以运行在任何支持Docker和Java的平台,我这里服务器系统为CentOS 7.9,大家可以自行选择自己熟悉的系统。

服务器准备完成之后在阿里云控制台查看服务器IP,使用SSH工具(例如Xshell)连接到服务器,可以直接使用用户名(默认为root)和密码连接,也可以在阿里云后台创建密钥对,导入密钥对连接到服务器。

安装Docker和Docker-Compose

1.查看本地yum镜像源地址

cd /etc/yum.repos.d
ll

如果没有这个文件,使用curl命令从阿里云镜像站点下载CentOS的仓库配置文件并保到/etc/yum.repos.d/CentOS-Base.repo。

mkdir /etc/yum.repos.d
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

2.设置docker的镜像仓库

将镜像源地址更新到yum的元数据中,这样就能使用yum工具下载docker了。

(1)安装必要工具

yum install -y yum-utils device-mapper-persistent-data lvm2

(2)设置下载的镜像仓库

这里以阿里云仓库为例

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

(2)设置docker镜像源

yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

(4)设置元数据

yum makecache fast

3.安装Docker

(1)卸载冲突工具

卸载 podman 和 buildah 这两个软件包(如果有的话)

yum erase podman buildah

(2)安装Docker文件

docker-ce: Docker 的社区版。
docker-ce-cli: Docker 的命令行工具。
containerd.io: Docker 的容器运行时

yum install docker-ce docker-ce-cli containerd.io

(3)启动Docker

systemctl start docker     #启动docker
systemctl status docker    #查看docker运行状态
docker --version           #查看docker版本

看到绿色active(running)说明docker已经正常启动了。

(4)为Docker配置镜像源

后续我们会使用docker安装mysql、nginx等镜像,默认国外地址下载缓慢或者无法连接,更换到国内镜像源。

创建docker配置文件

一般配置文件都放在 /etc目录下,因此我们在/etc目录下创建一个文件夹,存放docker镜像加速文件。

sudo mkdir -p /etc/docker
配置镜像加速源
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://akchsmlh.mirror.aliyuncs.com"]
}
EOF
查看镜像加速问价内容是否配置成功
cat /etc/docker/daemon.json
加载镜像源文件
sudo systemctl daemon-reload
重启docker
systemctl restart docker

4.安装Docker-Compose工具

Docker 是一个用于构建、运行和管理容器的开源平台,而 Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。Docker -Compose 通过一个 YAML 文件来配置应用的服务、网络和数据卷等,并通过单一命令 docker-compose up 启动所有服务。简而言之,Docker 处理容器的基本功能,而 Docker-Compose 使得管理多个容器变得更加简单和高效。

(1)下载docker-compose

方式一:自己手动去官方github下载,上传到服务器
官方地址:https://github.com/docker/compose/releases
下载的文件名为docker-compose-linux-x86_64

方式二:本站直接下载https://www.daiyuyang.cn/upload/docker-compose-linux-x86_64

下载完成后手动上传到服务器,软件安装包放在/opt/install目录下。

(2)复制文件

cp /opt/install/docker-compose-linux-x86_64  /usr/local/bin/docker-compose-linux-x86_64

(3)修改文件名

mv /usr/local/bin/docker-compose-linux-x86_64  /usr/local/bin/docker-compose

(4)赋予可执行权限

chmod +x /usr/local/bin/docker-compose

(5)查看版本号

docker-compose --version

安装Halo

Halo官网提供了离线安装包,下载后可以使用安装脚本自动部署Halo

官方文档

下载安装包

请自行前往飞致云开源社区下载 Halo 最新版本的安装包,并复制到目标机器的 /tmp 目录下

解压安装包

halo-offline-installer-2.20.3-amd64.tar.gz为示例安装包名称,操作时可根据实际安装包名称替换

cd /tmp
tar zxvf halo-offline-installer-2.20.3-amd64.tar.gz

执行安装脚本

进入安装包目录halo-offline-installer-2.20.3-amd64

cd halo-offline-installer-2.20.3-amd64

运行安装脚本

/bin/bash install.sh

根据提示即可完成安装设置。

使用http://ip:端口号的方式即可访问网站。

一名摄影与科技爱好者