828华为云征文|基于华为云Flexus云服务器X实例部搭建Halo博客平台

2024-09-08 03:20

本文主要是介绍828华为云征文|基于华为云Flexus云服务器X实例部搭建Halo博客平台,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

华为云征文|基于华为云Flexus云服务器X实例部搭建Halo博客平台

  • 前言
  • 一、Flexus云服务器X实例介绍
    • 1.1 Flexus云服务器X实例简介
    • 1.2 Flexus云服务器X实例特点
    • 1.3 Flexus云服务器X实例使用场景
  • 二、Halo介绍
    • 2.1 Halo 简介
    • 2.2 Halo 特点
  • 三、本次实践介绍
    • 3.1 本次实践简介
    • 3.2 本次环境规划
  • 四、购买华为云Flexus云服务器X实例
    • 4.1 登录华为云
    • 4.2 进入Flexus云服务器X实例购买页面
    • 4.3 购买Flexus云服务器X实例配置
    • 4.4 查看Flexus云服务器X实例状态
    • 4.5 使用Xshell远程连接
  • 五、检查Docker环境
    • 5.1 检查操作系统版本
    • 5.2 检查内核版本
    • 5.3 检查Docker版本
    • 5.4 检查Docker服务状态
  • 六、部署Halo应用
    • 6.1 拉取Halo镜像
    • 6.2 创建部署目录
    • 6.3 编辑docker-compose.yaml文件
    • 6.4 创建Halo容器
    • 6.5 检查Halo容器状态
    • 6.6 检查Halo容器日志
  • 七、配置Caddy反向代理
    • 7.1 创建部署目录
    • 7.2 编辑Caddyfile配置文件
    • 7.3 编辑docker-compose.yaml文件
    • 7.4 创建Caddy容器
    • 7.5 检查Caddy容器状态
  • 八、访问前准备工作
    • 8.1 关闭selinux和防火墙
    • 8.2 Flexus云服务器X实例安全组配置
  • 九、访问Halo服务
    • 9.1 访问Halo初始页
    • 9.2 初始化配置
    • 9.3 登录Halo
  • 十、Halo系统的基本使用
    • 10.1 发布文章
    • 10.2 访问博客
  • 十一、使用体验与总结

前言


在数字化转型的大潮中,华为云Flexus云服务器X实例凭借其强劲的性能和高性价比,成为中小企业和开发者理想的选择。本文将详细介绍如何在华为云Flexus云服务器X实例上部署Halo博客平台,充分发挥其稳定可靠的云服务优势。通过这一实践,我们将展示如何利用华为云的强大支持,实现博客平台的高效搭建与管理。依托华为云Flexus云服务器X实例,我们不仅能享受到流畅的用户体验,还能确保数据的安全与便捷管理。这将帮助我们开启个人信息化管理的新篇章,提升工作效率和个人品牌的影响力。


一、Flexus云服务器X实例介绍

1.1 Flexus云服务器X实例简介

  • 官网地址: 华为云Flexus云服务器X实例

华为云Flexus云服务器X实例是新一代面向中小企业和开发者的柔性算力云服务器。它能够智能感知业务负载的变化,自动调整资源配置。这款服务器特别适用于中低负载的应用场景,例如电商直播、企业网站建设、开发测试环境、游戏服务器以及音视频服务等。X实例的设计理念旨在为用户提供更加灵活和高效的计算资源管理方式。通过智能调整,它可以更好地满足不同业务的需求,提高资源利用率。

在这里插入图片描述

1.2 Flexus云服务器X实例特点

  • 提供丰富的公共镜像:Flexus云服务器X实例提供多种公共镜像供用户选择,方便快速部署各种应用和服务。

  • 可灵活自定义vCPU内存配比:用户可以根据自己的需要灵活调整虚拟CPU和内存的配比,以满足不同场景的需求。

  • 智能感知业务动态升降配:Flexus云服务器X实例能够智能感知业务的负载情况,并根据需要自动升降配,以满足业务的需求,提高系统的稳定性和性能。

  • 负载范围更高:相对于Flexus应用服务器L实例,Flexus云服务器X实例能够处理更高的负载,适用于更复杂和繁忙的场景。

1.3 Flexus云服务器X实例使用场景

Flexus云服务器X实例针对不同的使用场景展现出其独特的优势:

  1. 电商直播:利用X实例搭建电商交易平台,可以有效应对电商市场的瞬息万变,从容处理业务压力波动,确保交易过程顺畅无阻。

  2. 企业建站:面向博客、论坛和企业门户等应用场景,X实例帮助企业高效传播价值信息,促进信息共享与交流,支持构建多功能传播和交互平台。

  3. 个人开发测试:开发者在开发和测试过程中所需的环境资源可以通过X实例便捷获取,不仅提高了搭建效率,而且降低了成本。

  4. 游戏服务器:适用于搭建游戏后台服务器,强大的计算能力可以轻松应对大量玩家同时在线的情况,同时支持平滑扩容,快速应对玩家数量增长的需求,以及提供出色的网络加速能力以提升用户体验。

二、Halo介绍

2.1 Halo 简介

·Halo ·是一款基于 Java 的开源建站工具,以其简单易用、高度灵活性和丰富的插件系统而著称。它为用户提供了构建个性化网站的强大功能,特别适合希望拥有自己博客或个人网站的技术爱好者和开发者。

2.2 Halo 特点

Halo主要特点:

  • 可插拔架构:Halo 采用了低耦合的可插拔架构,允许用户根据需求自由安装和卸载插件,极大地提高了系统的灵活性和扩展性。同时,Halo 提供了插件开发接口,确保了系统的高扩展性和易于维护的特点。

  • 功能丰富的主题机制:Halo 提供了一套完整的主题模板机制,用户可以根据个人喜好选择不同的主题模板来定制站点的外观,从而实现独特的视觉风格。

  • 强大的编辑器:Halo 配备了功能齐全的富文本编辑器,支持添加标题、段落、引用、列表、代码块等多种元素,并允许设置样式属性、上传图片、插入视频等,使得内容创作既便捷又生动。

通过这些特点,Halo 不仅为用户提供了一个强大的内容管理系统,还使其能够轻松定制自己的网站,满足多样化的建站需求。

三、本次实践介绍

3.1 本次实践简介

1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;
2.本次实践环境为云华为云Flexus云服务器X实例,使用的操作系统为Huawei Cloud EulerOS 2.0 (x86_64);
3.在Docker环境下搭建Halo博客平台。

3.2 本次环境规划

服务器类别公共镜像选择内网IP地址Docker版本操作系统版本Halo版本
华为云Flexus云服务器X实例Huawei Cloud EulerOS192.168.0.16927.1.1Huawei Cloud EulerOS 2.0 (x86_64)2.19

四、购买华为云Flexus云服务器X实例

4.1 登录华为云

进入华为云官网:https://activity.huaweicloud.com/,登录自己的华为云账号,进入华为云首页。

在这里插入图片描述
在这里插入图片描述

4.2 进入Flexus云服务器X实例购买页面

我们在华为云官网首页,精选推荐模块中,可以看到Flexus云服务器X实例,点击进入Flexus云服务器X实例主页。

在这里插入图片描述
在这里插入图片描述

点击页面中的“购买”选项,进入Flexus云服务器X实例购买页面。

在这里插入图片描述

4.3 购买Flexus云服务器X实例配置

  • 可参考以下基础配置,进行购买:

1.计费模式:包年/包月,这里选择此模式;
2.区域:华北—北京四,可用区:随机即可;
3.实例规格:关闭性能模式,选择自定义,4vCPUs | 12GiB;
4.镜像:公共镜像,Huawei Cloud EulerOS,版本,Huawei Cloud EulerOS 2.0 Standard 64 bit(10GiB);
5.应用加速:这里选择不加速;
6.存储:系统盘,通用型SSD100G;
7.网络:选择默认即可;
8.安全组:选择默认即可;
9.弹性公网IP:选择“现在购买”,全动态BGP,带宽3Mbit/s;
10.云服务器名称:可自定义设置,这里选择默认的名称;
11.登录凭证:自定义设置密码;
12.云备份:暂不购买;
其余配置默认即可。

  • 确认配置及购买

在确认配置页面,检查Flexus云服务器X实例的各项配置是否正确。检查完毕后,点击“立即购买”。付款完毕后,华为云Flexus云服务器X实例购买成功。

在这里插入图片描述

4.4 查看Flexus云服务器X实例状态

进入华为云Flexus云服务的控制台,选择Flexus云服务器X实例,可以看到已经正在运行的Flexus云服务器X实例。

在这里插入图片描述

4.5 使用Xshell远程连接

  • 复制Flexus云服务器X实例的弹性公网IP地址

在这里插入图片描述

  • 主要填写Flexus云服务器X实例的弹性公网IP地址,输入其登录用户和密码,连接即可。

在这里插入图片描述

在这里插入图片描述

五、检查Docker环境

5.1 检查操作系统版本

检查Flexus云服务器X实例的操作系统版本,本次实践选择的版本为Huawei Cloud EulerOS 2.0 (x86_64)

[root@flexusx-51a1 ~]# cat /etc/os-release
NAME="Huawei Cloud EulerOS"
VERSION="2.0 (x86_64)"
ID="hce"
VERSION_ID="2.0"
PRETTY_NAME="Huawei Cloud EulerOS 2.0 (x86_64)"
ANSI_COLOR="0;31"

5.2 检查内核版本

检查当前操作系统的内核版本,当前内核版本为5.10.0-182.0.0.95.r1941_123.hce2.x86_64

[root@flexusx-51a1 ~]# uname -r
5.10.0-182.0.0.95.r1941_123.hce2.x86_64

5.3 检查Docker版本

部署该项目需要提前安装Docker环境,检查Docker版本,当前安装的Docker版本为 27.1.1

[root@flexusx-51a1 ~]# docker -v
Docker version 27.1.1, build 6312585

5.4 检查Docker服务状态

检查Docker服务状态,确保Docker服务正常。

[root@flexusx-51a1 ~]# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)Active: active (running) since Tue 2024-09-03 19:09:33 CST; 24min ago
TriggeredBy: ● docker.socketDocs: https://docs.docker.comMain PID: 426099 (dockerd)Tasks: 1709Memory: 818.0MCGroup: /system.slice/docker.service├─ 426099 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock## 5.5 检查Docker compose版本
>检查docker compose版本,当前默认安装版本为`v2.29.1`。```bash
[root@flexusx-51a1 ~]# docker compose version
Docker Compose version v2.29.1

六、部署Halo应用

6.1 拉取Halo镜像

执行以下命令,拉取Halo镜像。当前拉取的镜像名称为halohub/halo:2.19,安装的Halo版本为2.19版本。

[root@flexusx-51a1 ~]# docker pull halohub/halo:2.19
2.19: Pulling from halohub/halo
857cc8cb19c0: Pull complete
088da2f5347e: Pull complete
eb555bfa72f4: Pull complete
5ead23608f01: Pull complete
d38e2b15d179: Pull complete
c5bede2e8dde: Pull complete
f95b08e7c9b3: Pull complete
4f4fb700ef54: Pull complete
072585d713d5: Pull complete
40296d2ffac7: Pull complete
Digest: sha256:779278b34d56d1720f6a4c0f7fde23e35ce3fa63dd0ba4cab5f983035a8c2c5a
Status: Downloaded newer image for halohub/halo:2.19
docker.io/halohub/halo:2.19

在这里插入图片描述

6.2 创建部署目录

在命令行终端上,我们创建一个部署目录/data/halo

mkdir /data/halo && cd /data/halo

6.3 编辑docker-compose.yaml文件

如果使用docker-cli方式部署,可参考以下命令。

部署说明

  • Halo 2与1.x 版本不兼容;
  • 此命令默认使用自带的 H2 Database 数据库,可以额外单独使用Mysql数据库进行连接。
  • 可参考官网详细部署文档,使用其他数据库部署。
  • H2 数据库仅适用于开发环境和测试环境,不推荐在生产环境中使用,H2 非常容易因为操作不当导致数据文件损坏。如果必须要使用,请按时进行数据备份。
  • 由于本次是个人测试环境,非生产环境,使用默认自带的 H2 Database 数据库。
docker run -it -d --name halo -p 8090:8090 -v /data/halo/.halo2:/root/.halo2 halohub/halo:2.19

本次实践使用docker compose方式部署Halo,编辑docker-compose.yaml文件,可自行修改映射端口部分。

vim docker-compose.yaml

version: "3"services:halo:image: registry.fit2cloud.com/halo/halo:2.19restart: on-failure:3volumes:- ./halo2:/root/.halo2ports:- "8090:8090"healthcheck:test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]interval: 30stimeout: 5sretries: 5start_period: 30s          command:# 外部访问地址,请根据实际需要修改- --halo.external-url=http://localhost:8090/
  • 相关参数解释
参数描述
image指定 Halo 的 Docker 镜像,这里使用的是来自 fit2cloud 的 Halo 2.19 版本。
restart设置容器重启策略,此处为 on-failure:3,表示当容器因错误退出时,最多重启 3 次。
volumes数据卷映射,将宿主机上的目录 ./halo2 映射到容器内的 /root/.halo2,用于持久化 Halo 的数据。
ports端口映射,将容器内的 8090 端口映射到宿主机的 8090 端口,使得外部可以访问 Halo 服务。
healthcheck健康检查配置,用于定期检查容器是否正常运行:
- test: 使用 curl 命令检查容器健康状态。
- interval: 检查间隔时间为 30 秒。
- timeout: 每次检查的超时时间为 5 秒。
- retries: 在服务启动后,连续失败 5 次检查后才认为服务不可用。
- start_period: 服务启动后的初始检查等待时间为 30 秒。
command自定义命令行参数,这里设置了 Halo 的外部访问地址。注释提示用户根据实际情况修改该地址。

6.4 创建Halo容器

执行以下命令,使用docker-compose.yaml文件创建Halo服务。

docker compose up -d

在这里插入图片描述

6.5 检查Halo容器状态

检查Halo容器状态,确保Halo相关容器正常启动。

[root@flexusx-51a1 halo]#  docker compose ps
WARN[0000] /data/halo/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME          IMAGE                                   COMMAND                  SERVICE   CREATED         STATUS                   PORTS
halo-halo-1   registry.fit2cloud.com/halo/halo:2.19   "sh -c 'java ${JVM_O…"   halo      2 minutes ago   Up 2 minutes (healthy)   0.0.0.0:8090->8090/tcp, :::8090->8090/tcp

6.6 检查Halo容器日志

执行以下命令,确认Halo服务正常运行。

[root@flexusx-51a1 halo]# docker compose logs |grep 8090
WARN[0000] /data/halo/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
halo-1  | 2024-09-03T21:16:53.601+08:00  INFO 7 --- [           main] o.s.b.web.embedded.netty.NettyWebServer  : Netty started on port 8090 (http)

七、配置Caddy反向代理

7.1 创建部署目录

执行以下命令,创建部署目录/data/docker/caddy/

mkdir -p /data/docker/caddy/{conf,data,www} && cd /data/docker/caddy/

7.2 编辑Caddyfile配置文件

编辑Caddyfile配置文件,在conf/目录新建Caddyfile文件

vim conf/Caddyfile

caddy配置文件反向代理部分参考如下:

www.yourdomain.comencode gzipreverse_proxy 127.0.0.1:8090

以下是本次实践的Caddyfile文件,将www.yourdomain.com不分替换为华为云Flexus云服务器X实例的弹性公网IP地址。

在这里插入图片描述

7.3 编辑docker-compose.yaml文件

编辑Caddy容器的部署文件,内容如下。如果安装最新版本Docker,可以将docker-compose.yaml文件的version删除掉,新版本已废弃使用。


version: '3.6'services:
# http/2 servercaddy:image: caddy:latestcontainer_name: caddyhostname: caddydomainname: caddyrestart: alwaysnetwork_mode: "host"environment:- TZ=Asia/Shanghaivolumes:- "/data/docker/caddy/conf/Caddyfile:/etc/caddy/Caddyfile"- "/data/docker/caddy/data:/data"- "/data/docker/caddy/www:/usr/share/caddy/"

7.4 创建Caddy容器

执行以下命令, 创建Caddy容器。

 docker compose up -d

7.5 检查Caddy容器状态

执行以下命令,检查Caddy容器状态。

[root@flexusx-51a1 caddy]# docker compose ps
WARN[0000] /data/docker/caddy/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME      IMAGE          COMMAND                  SERVICE   CREATED              STATUS              PORTS
caddy     caddy:latest   "caddy run --config …"   caddy     About a minute ago   Up About a minute

八、访问前准备工作

8.1 关闭selinux和防火墙

  • 关闭selinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
  • 停止防火墙
systemctl stop firewalld
systemctl disable firewalld

8.2 Flexus云服务器X实例安全组配置

进入Flexus云服务器X实例控制台,进行安全组规则配置。

在这里插入图片描述

入方向上放行9700端口,确认配置即可。

在这里插入图片描述

九、访问Halo服务

9.1 访问Halo初始页

浏览器访问地址:https://弹性公网IP地址:9700,将IP替换为自己服务器IP地址。浏览器打开后,进入Halo初始页。

在这里插入图片描述

9.2 初始化配置

站点名称:myweb;
邮箱:admin@qq.com;
用户名:admin;
密码:自定义;
点击初始化即可。

在这里插入图片描述

9.3 登录Halo

输入刚才设置的账号和密码,登录halo。

在这里插入图片描述
在这里插入图片描述

十、Halo系统的基本使用

10.1 发布文章

在Halo后台管理页面,文章模块中。在新建的文档编辑器内,编辑文档内容,,点击发布即可。

在这里插入图片描述
在这里插入图片描述

10.2 访问博客

本地浏览器打开:https://弹性公网IP地址:9700,将IP替换为自己服务器IP地址,看到halo博客平台的前台首页已经成功显示发布文章。

在这里插入图片描述
在这里插入图片描述

十一、使用体验与总结


在本次实践中,我们成功地在华为云Flexus云服务器X实例上部署了Halo系统,整个过程顺畅无比。华为云Flexus X实例以卓越的性价比、强大的计算性能和可靠的稳定性脱颖而出,在网络连接、操作过程等方面表现出色,确保了高效的用户体验。Halo作为一款简单易用、灵活性高且插件丰富的开源建站工具,再次证明了与华为云Flexus X实例相结合所带来的巨大便利。华为云Flexus云服务器X实例的强大优秀表现让我们欣喜不已,让我们一起开始新的云端之旅吧!


在这里插入图片描述

这篇关于828华为云征文|基于华为云Flexus云服务器X实例部搭建Halo博客平台的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1146971

相关文章

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。