写在前面
本文服务器为阿里云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:端口号的方式即可访问网站。