在学习云计算和容器技术的过程中,单纯停留在概念层面其实很难建立完整认知。最有效的方式,还是亲手把一个能访问、能管理、能发布内容的网站跑起来。于是我选择在华为鲲鹏云服务器上搭建一个个人博客,并使用 Docker + WordPress + MariaDB 完成部署。

这篇文章记录我从购买华为云鲲鹏 ECS,到完成博客初始化上线的完整过程。整套方案对新手比较友好,部署速度快,后续维护也方便,适合作为个人博客、课程实验或者云平台入门实践。


一、为什么选择华为鲲鹏云

这次实验使用的是华为云 ECS 鲲鹏实例。鲲鹏云服务器基于 ARM 架构,在云原生、容器化和轻量服务场景下有不错的性价比,同时也很适合拿来练手部署项目。

相比传统直接在服务器里手动安装 Nginx、PHP、MySQL 的方式,我更倾向于使用 Docker,原因主要有几点:

  1. 环境隔离更清晰,应用和数据库互不影响。
  2. 部署更快,使用一份配置文件就可以拉起完整服务。
  3. 后续迁移方便,换服务器时不需要重新从头配置环境。
  4. 对实验和学习场景非常友好,出了问题也更容易重建。

二、整体方案说明

我这次博客搭建使用的技术栈如下:

  • 云服务器:华为云 ECS 鲲鹏实例
  • 系统环境:CentOS 7.x
  • 容器平台:Docker
  • 编排工具:Docker Compose
  • 博客系统:WordPress
  • 数据库:MariaDB 10.5

这里有一个很关键的点:因为鲲鹏服务器是 ARM64 架构,所以数据库镜像的选择要注意兼容性。实践中我没有继续使用较老的 MySQL 5.7,而是改用 MariaDB 10.5,兼容性更稳,部署更顺利。


三、购买并配置华为云鲲鹏 ECS

首先进入华为云控制台,购买一台 ECS 实例。

对于个人博客这种轻量应用,配置不需要太高,基础规格即可满足需求:

  • 1 核 CPU
  • 2GB 内存
  • 40GB 系统盘
  • CentOS 7.x
  • 鲲鹏 ARM 架构实例

在购买时,安全组一定要提前配置好。至少要开放以下端口:

  • 22:用于 SSH 远程连接服务器
  • 80:用于浏览器访问博客首页
  • 443:如果后续要配置 HTTPS,也建议一并开放

实例创建完成后,记录好公网 IP,后面部署和访问都要用到。


四、远程连接服务器

创建完成后,可以通过 SSH 登录云服务器。

ssh root@你的公网IP

如果是密码登录,输入购买实例时设置的 root 密码即可;如果是密钥对方式,则使用本地私钥连接。

当终端能够成功进入服务器后,就说明 ECS 已经准备完成,可以开始安装运行环境。


五、安装 Docker 环境

登录服务器后,先更新系统软件包:

yum update -y

接着安装 Docker:

yum install -y yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install -y --nogpgcheck docker-ce docker-ce-cli containerd.io systemctl start docker systemctl enable docker

这里我使用了 --nogpgcheck,因为在某些环境下 Docker 安装时会遇到 GPG key 获取失败的问题,这个参数可以先绕过去,保证安装顺利完成。

安装完之后,检查 Docker 是否正常工作:

docker version docker run hello-world

如果能看到 hello-world 的欢迎信息,就说明 Docker 已经安装成功。


六、配置华为云 SWR 镜像加速器

国内服务器直接拉 Docker Hub 镜像时,速度有时会比较慢,甚至可能失败。为了提高部署效率,我配置了华为云 SWR 镜像加速器。

在华为云控制台进入 容器镜像服务 SWR,找到镜像加速器地址,然后编辑 Docker 配置文件:

vi /etc/docker/daemon.json

写入如下内容:

{ "registry-mirrors": ["https://你的SWR镜像加速地址"] }

保存后重启 Docker:

systemctl restart docker docker info | grep "Registry Mirrors"

如果能看到刚刚配置的镜像加速地址,说明配置已经生效。


七、检查 Docker Compose

新版 Docker 一般已经自带 Compose 插件,可以先直接检查:

docker compose version

如果有版本号输出,就说明可以直接使用,不需要额外安装。

Docker Compose 的作用是统一管理多个容器。因为 WordPress 至少需要一个应用容器和一个数据库容器,所以 Compose 很适合这个场景。


八、部署 WordPress 博客

1. 创建项目目录

先新建一个目录专门存放博客部署文件:

mkdir ~/wordpress cd ~/wordpress

2. 编写 docker-compose.yml

创建 docker-compose.yml 文件:

vi docker-compose.yml

写入以下内容:

services: db: image: mariadb:10.5 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest ports: - "80:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress volumes: - wordpress_data:/var/www/html volumes: db_data: wordpress_data:

这份配置文件定义了两个核心服务:

  • db:MariaDB 数据库,用来保存 WordPress 的文章、用户和站点配置
  • wordpress:博客应用本体,对外开放 80 端口

同时还定义了两个数据卷:

  • db_data:持久化数据库数据
  • wordpress_data:持久化网站程序和上传内容

这样即使容器被删除,只要数据卷还在,博客数据就不会丢失。


九、启动博客服务

在 docker-compose.yml 所在目录执行:

docker compose up -d docker ps

如果执行成功,docker ps 应该能看到两个正在运行的容器:

  • WordPress
  • MariaDB

这说明服务已经正常启动。


十、初始化 WordPress

打开浏览器,访问:

http://你的公网IP

如果一切正常,会进入 WordPress 安装向导。

接下来按照页面提示完成初始化:

  1. 选择语言,建议使用简体中文
  2. 设置站点标题
  3. 设置管理员用户名和密码
  4. 填写邮箱地址
  5. 点击安装 WordPress

安装完成后,就可以进入后台管理页面:

http://你的公网IP/wp-admin

登录成功后,说明博客已经正式搭建完成。


十一、博客基础配置

进入后台之后,可以先做三件最基础的事情。

1. 设置主题

在“外观”中选择合适的主题,决定博客整体风格。

2. 修改站点信息

在“设置”里配置:

  • 博客名称
  • 副标题
  • 管理员邮箱
  • 站点地址

如果暂时没有域名,直接使用公网 IP 也可以。

3. 发布第一篇文章

在“文章”中点击“新建”,写一篇测试文章并发布。
如果前台可以正常显示文章内容,就说明整套博客系统已经完整跑通。


十二、部署过程中遇到的问题

这次搭建过程中,我遇到的几个典型问题如下。

1. Docker 镜像拉取慢

这是最常见的问题,尤其在国内网络环境下。
解决方法就是配置 华为云 SWR 镜像加速器

2. Docker 安装时 GPG 校验失败

有时安装 Docker 会因为 key 获取失败而中断。
解决方法是使用:

--nogpgcheck

先完成安装。

3. MySQL 镜像兼容性问题

由于鲲鹏云服务器是 ARM64 架构,某些旧版 MySQL 镜像兼容性一般。
我最终选择用 MariaDB 10.5 替代,部署更加稳定。

4. 浏览器无法访问站点

这种情况一般优先检查三点:

  • 安全组是否放通 80 端口
  • Docker 容器是否正常运行
  • 服务器本机防火墙是否拦截

十三、总结

这次基于华为鲲鹏云搭建个人博客的实践,让我把云服务器、容器化部署和博客系统真正串联起来了。

从结果上看,这套方案有几个明显优点:

  • 部署流程清晰,适合新手上手
  • Docker 管理方便,后续维护成本低
  • 鲲鹏云服务器完全可以胜任个人博客场景
  • WordPress 生态成熟,适合后续继续扩展功能

更重要的是,这次实践让我不再只是“会用命令”,而是真正理解了一个网站从服务器资源、运行环境到应用上线的完整过程。对于云计算课程学习、个人项目实践,或者想搭建自己的技术博客来说,这都是一个非常不错的入门案例。

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐