基于华为openEuler部署Blog轻量级博客系统

基于华为openEuler部署Blog轻量级博客系统【华为根技术】

  • 前言
  • 一、相关服务介绍
    • [1.1 openEuler系统介绍](#1.1 openEuler系统介绍)
    • [1.2 Blog介绍](#1.2 Blog介绍)
  • 二、本次实践介绍
    • [2.1 本次实践介绍](#2.1 本次实践介绍)
    • [2.2 本次环境规划](#2.2 本次环境规划)
  • 三、本地环境检查
    • [3.1 检查系统版本](#3.1 检查系统版本)
    • [3.2 检查内核版本](#3.2 检查内核版本)
    • [3.3 检查本地IP](#3.3 检查本地IP)
    • [3.4 检查Docker环境](#3.4 检查Docker环境)
  • 四、部署Blog项目
    • [4.1 下载Docker镜像](#4.1 下载Docker镜像)
    • [4.2 创建部署目录](#4.2 创建部署目录)
    • [4.3 docker-cli方式部署(可选)](#4.3 docker-cli方式部署(可选))
    • [4.4 编辑部署文件](#4.4 编辑部署文件)
    • [4.5 部署Blog](#4.5 部署Blog)
    • [4.6 目录授权](#4.6 目录授权)
    • [4.7 检查容器状态](#4.7 检查容器状态)
    • [4.8 检查容器日志](#4.8 检查容器日志)
  • 五、访问Blog服务
    • [5.1 安全设置](#5.1 安全设置)
    • [5.2 访问Blog首页](#5.2 访问Blog首页)
  • 六、发布内容
    • [6.1 登录Blog](#6.1 登录Blog)
    • [6.2 发布帖子](#6.2 发布帖子)
  • 七、总结

前言


随着企业数字化转型加速,自主可控的基础设施技术愈发重要。华为openEuler作为一款高性能、安全可靠的开源Linux操作系统,为各类应用提供了坚实的底层支撑。本实践基于openEuler系统,结合Docker容器技术,部署轻量级博客系统Blog。通过本次实践,不仅验证了华为根技术在实际应用中的稳定性与兼容性,也展示了国产化生态的良好发展态势。


一、相关服务介绍

1.1 openEuler系统介绍

  • 简介

openEuler是华为发起并主导的一个开源操作系统项目,它基于Linux内核开发,致力于为企业级应用提供安全、稳定、可靠的操作环境。自2019年正式开源以来,openEuler迅速吸引了全球众多开发者和技术爱好者的关注,并逐渐形成了一个活跃的开源社区。该系统不仅支持多种处理器架构(如x86、ARM等),而且通过持续的技术创新,在性能优化、安全性增强以及容器化支持等方面展现了显著的优势。

  • 主要特点
  • 开源性:openEuler遵循开源协议,允许任何个人或组织自由获取、使用、修改及分发系统代码,这极大地促进了技术创新与共享。
  • 高性能与稳定性:通过对Linux内核进行深度优化,openEuler能够提供出色的运行效率和稳定性,满足企业级应用场景的需求。
  • 安全性:提供了包括安全启动、数据加密在内的多重安全保障措施,确保用户数据的安全性。
  • 容器化支持:兼容Docker和Kubernetes等容器技术,便于开发者构建、部署和管理容器化应用。
  • 丰富的生态系统:拥有庞大的开发者社区和丰富的软件库,为用户提供广泛的软件支持和服务。

1.2 Blog介绍

Blog 项目简介

Blog 是一个轻量级、可自托管的单用户 PHP 博客系统,界面风格类似 Facebook 动态消息流,无需复杂构建流程,开箱即用,支持发布富文本内容、图片、高亮代码和链接,适合个人分享与内容展示。

主要特点

  • 无 npm 依赖 :完全不依赖 Node.js 环境,避免产生庞大的 node_modules 文件夹。
  • 无构建流程:源码即运行代码,无需编译、打包或构建步骤,直接部署即可访问。
  • 轻量无冗余:专注于核心功能,结构简洁,资源占用低,运行高效。
  • 富文本动态流:支持发布包含文字、图片、链接和代码高亮的社交化动态内容。
  • 简单分享机制:可设置内容为公开,让他人以只读方式浏览你的动态更新。
  • 易于部署:基于 PHP 开发,只需 Web 服务器支持 PHP 即可快速搭建。

二、本次实践介绍

2.1 本次实践介绍

1.本次实践环境为个人测试环境,生产环境请谨慎;

2.本次实践主要是在openEuler系统下部署Blog轻量级博客。

2.2 本次环境规划

本次环境规划如下所示:

服务器 HostName IP地址 操作系统 内核版本 部署项目 Docker版本
VM虚拟机 openEuler-server 192.168.3.83 openEuler 24.03 (LTS) 6.6.0-28.0.0.34.oe2403.x86_64 Blog 26.1.3

三、本地环境检查

3.1 检查系统版本

检查当前系统版本,当前系统版本为openEuler 24.03 (LTS)

bash 复制代码
[root@openEuler-server ~]# cat /etc/os-release
NAME="openEuler"
VERSION="24.03 (LTS)"
ID="openEuler"
VERSION_ID="24.03"
PRETTY_NAME="openEuler 24.03 (LTS)"
ANSI_COLOR="0;31"

3.2 检查内核版本

检查当前内核版本,如下所示:

bash 复制代码
[root@openEuler-server ~]#  uname -r
6.6.0-28.0.0.34.oe2403.x86_64

3.3 检查本地IP

查看本地IP地址,本次实践本地IP设置为192.168.3.83/24

bash 复制代码
[root@openEuler-server ~]# ifconfig ens18
ens18: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.83  netmask 255.255.255.0  broadcast 192.168.3.255
        inet6 fe80::be24:11ff:feaa:bfa5  prefixlen 64  scopeid 0x20<link>
        ether bc:24:11:aa:bf:a5  txqueuelen 1000  (Ethernet)
        RX packets 1267  bytes 134016 (130.8 KiB)
        RX errors 0  dropped 64  overruns 0  frame 0
        TX packets 321  bytes 36697 (35.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

3.4 检查Docker环境

  • 检查Docker版本
bash 复制代码
[root@openEuler-server ~]# docker -v
Docker version 26.1.3, build b72abbb

四、部署Blog项目

4.1 下载Docker镜像

执行以下命令,拉取Blog的容器镜像。

bash 复制代码
docker pull m1k1o/blog:latest

4.2 创建部署目录

执行以下命令,创建部署目录。

bash 复制代码
 mkdir -p /data/blog/data && cd  /data/blog/

4.3 docker-cli方式部署(可选)

  • 如果想要使用docker-cli方式部署,可参考以下命令:
bash 复制代码
docker run -d \
  -p 80:80 \
  -e "TZ=Europe/Vienna" \
  -e "BLOG_TITLE=Blog" \
  -e "BLOG_NAME=Max Musermann" \
  -e "BLOG_NICK=admin" \
  -e "BLOG_PASS=admin" \
  -e "BLOG_LANG=en" \
  -v $PWD/data:/var/www/html/data \
  m1k1o/blog:latest

4.4 编辑部署文件

本次实践我们使用docker compose方式部署,新建及编辑以下docker-compose.yaml文件。

bash 复制代码
 vim docker-compose.yaml
yaml 复制代码
version: '3'
services:
  blog:
    image: m1k1o/blog:latest
    container_name: blog
    restart: unless-stopped
    ports:
      - "8021:80"
    environment:
      TZ: Asia/Shanghai
      BLOG_TITLE: Blog
      BLOG_NAME: Max Musermann
      BLOG_NICK: admin
      BLOG_PASS: admin
      BLOG_LANG: en
    volumes:
      - ./data:/var/www/html/data
配置类型 变量/路径 说明
环境变量 TZ: Asia/Shanghai 设置容器的时区为亚洲/上海(中国标准时间)。
BLOG_TITLE: Blog 设置博客网站的标题为 "Blog",通常显示在页面标题或页眉中。
BLOG_NAME: Max Musermann 设置博客作者或所有者姓名为 "Max Musermann"。
BLOG_NICK: admin 设置管理员登录的用户名(昵称)为 admin
BLOG_PASS: admin 设置管理员登录密码为 admin注意:使用弱密码存在安全风险,建议修改
BLOG_LANG: en 设置博客的默认语言为英文(en = English)。
卷挂载 ./data:/var/www/html/data 将宿主机当前目录下的 data 文件夹挂载到容器内的 /var/www/html/data 路径,用于持久化存储博客数据(如文章、配置、上传文件等),防止容器删除后数据丢失。

4.5 部署Blog

执行以下docker compose up -d命令,部署Blog应用。

bash 复制代码
docker compose up -d

4.6 目录授权

  • 目录授权
bash 复制代码
chmod -R 777 /data/blog/
  • 重启容器
bash 复制代码
docker compose restart

4.7 检查容器状态

检查Blog容器状态,确保Blog容器正常启动。

bash 复制代码
[root@openEuler-server blog]# docker compose ps
WARN[0000] /data/blog/docker-compose.yaml: `version` is obsolete
NAME      IMAGE               COMMAND                  SERVICE   CREATED          STATUS          PORTS
blog      m1k1o/blog:latest   "docker-php-entrypoi..."   blog      24 seconds ago   Up 23 seconds   0.0.0.0:8021->80/tcp, :::8021->80/tcp

4.8 检查容器日志

检查容器运行日志,确保Blog服务正常运行。

bash 复制代码
docker compose logs

五、访问Blog服务

5.1 安全设置

  • 关闭selinux
bash 复制代码
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
  • 停止本地防火墙
bash 复制代码
systemctl stop firewalld
systemctl disable firewalld

5.2 访问Blog首页

访问地址:http://《服务器IP地址》:8021,将IP替换为自己服务器IP地址,进入到Blog登录页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。

六、发布内容

6.1 登录Blog

使用部署文件中设置的账号密码,登录Blog。


6.2 发布帖子

在编辑框内,编辑帖子内容和图片等信息,发布即可。

七、总结

本次实践成功在华为openEuler系统上部署并运行了轻量级博客Blog,整体过程流畅,兼容性良好。通过Docker方式部署,极大提升了应用的可移植性与运维效率。系统运行稳定,访问顺畅,充分体现了openEuler在服务器场景下的强大支撑能力。未来可进一步探索更多基于华为根技术的创新应用,助力自主可控技术生态建设。

相关推荐
爱笑的眼睛114 小时前
深入解析 List 容器组件:构建高效、可交互的列表解决方案
华为·harmonyos
yenggd5 小时前
华为本地pbr及mqc及traffic-filter使用案例
运维·服务器·华为
2501_919749037 小时前
鸿蒙:PickerDialog 日期选择弹窗实现流程
华为·harmonyos
爱笑的眼睛1110 小时前
【鸿蒙心迹】 我和新人的鸿蒙应用上架之路
经验分享·华为·harmonyos
2501_9197490310 小时前
鸿蒙:使用AppStorageV2实现跨Ability共享
华为·harmonyos
Devil枫10 小时前
HarmonyOS SDK地图服务教程
华为·harmonyos
安卓开发者10 小时前
鸿蒙Next Asset Store Kit:打造关键资产的铜墙铁壁
华为·harmonyos
AI创界者12 小时前
华为手机鸿蒙系统 4.2 / 4.3 安装谷歌框架的详细教程
华为·智能手机·harmonyos
2501_919749031 天前
鸿蒙:侧边栏显示与隐藏
华为·harmonyos