华为云征文|构建个人博客管理系统 Ghost

华为云征文|构建个人博客管理系统 Ghost

  • 一、Flexus云服务器X实例介绍
    • [1.1 云服务器介绍](#1.1 云服务器介绍)
    • [1.2 应用场景](#1.2 应用场景)
    • [1.3 对比普通ECS](#1.3 对比普通ECS)
  • 二、Flexus云服务器X实例配置
    • [2.1 重置密码](#2.1 重置密码)
    • [2.2 服务器连接](#2.2 服务器连接)
    • [2.3 安全组配置](#2.3 安全组配置)
  • [三、部署 Kodcloud](#三、部署 Kodcloud)
    • [3.1 Jellyfin 介绍](#3.1 Jellyfin 介绍)
    • [3.2 Docker 环境搭建](#3.2 Docker 环境搭建)
    • [3.3 Jellyfin 部署](#3.3 Jellyfin 部署)
    • [3.4 Jellyfin 使用](#3.4 Jellyfin 使用)
  • 四、总结

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

1.1 云服务器介绍

云服务器的重要意义主要体现在灵活性、弹性和成本效益。它们提供了根据需求即时调整计算资源的能力,节省了长期硬件采购和维护的成本,同时保障业务的稳定运行。通过云服务器,企业可以更高效地部署、扩展和管理应用程序,适应快速变化的市场需求,推动数字化转型,加速业务创新。

华为云下一代云服务器Flexus X实例焕新上线,新产品具备柔性算力,六倍性能,旗舰体验,覆盖高科技、零售、金融、游戏等行业大多数通用工作负载场景,从而帮您快速上云!

Flexus X实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。


本次测评使用的规格是:4核12G-100G-3M规格的Flexus X实例基础模式

1.2 应用场景

Flexus云服务器X实例打造的柔性算力云服务器,可智能感知业务负载,适用于电商直播、企业建站、开发测试环境、游戏服务器、音视频服务等中低负载场景。

  • 电商直播:基于Flexus X实例搭建电商交易平台,可以从容面对电商市场瞬息万变对的业务压力变化。
  • 企业建站:面向博客、论坛,和企业门户等业务场景,帮助企业传播价值信息,促进信息共享和交流,支撑用户建设多功能的传播和交互平台。
  • 个人开发测试:开发者在开发、测试过程中需要的环境资源,可以选择从云上提供。基于Flexus云服务器X实例搭建开发测试环境,更加便利,成本更优。
  • 游戏服务器:适用于搭建游戏后台服务器,强大算力轻松应对千人同时在线,同时平滑扩容可快速应对服务器玩家数量上涨诉求,超强的网络加速能力提升用户体验。

1.3 对比普通ECS

项目 Flexus应用服务器L实例 Flexus云服务器X实例 ECS
适用对象 适用于业务负载要求相对较低,且期望即开即用、超快部署的中小企业和开发者。 适用于中负载业务,且期望资源灵活选配的中小企业和开发者。 适用于网站应用、企业电商、图形渲染、数据分析、高性能计算等高负载、全业务应用场景。
实例特点 内置丰富的解决方案与镜像,零门槛快速搭建业务环境,轻松启动和管理业务 灵活自定义规格、性能稳定强劲、按需灵活计费。 支持灵活地选择所需的内存、CPU、带宽等配置,帮助您打造可靠、安全、灵活、高效的应用环境。

二、Flexus云服务器X实例配置

2.1 重置密码

购买完成后,会短信通过你的云服务器信息,重点是公网IP地址和用户名。首先我们需要打开你的服务器控制台,完成重置密码

勾选自动重启,点击确定即可。

2.2 服务器连接

  • 方式一:使用控制台提供的VNC方式登录

  • 方式二 :使用Putty、Xshell等工具登录Linux弹性云服务器,

    a) 下载安装登录工具,例如Putty。

    b) 输入弹性公网IP。

    c) 输入用户名:root、密码,单击"确定"。

  • 方式三 :使用Linux/Mac OS系统主机登录Linux弹性云服务器。

    a) 执行连接命令。

    ssh 弹性公网IP

    例如:ssh 123.xxx.xxx.456

    b) 输入用户名:root、密码,登录服务器。

我个人习惯使用 MobaXterm 这款软件,添加SSH连接,输出公网IP、用户名和端口(默认22),连接即可。

2.3 安全组配置

安全组是一个逻辑上的分组,为同一个VPC内的云服务器提供访问策略。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。

系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组。

主要需要填写优先级(默认填1即可)、协议端口信息(一般选择你项目需要暴露的端口即可),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。

如果还不清楚可以参考文档:安全组配置示例

三、部署 Kodcloud

3.1 Jellyfin 介绍

Jellyfin是一个自由软件媒体系统,让您控制管理和流媒体。它是专有Emby和Plex的替代方案,通过多个应用程序将媒体从专用服务器提供给最终用户设备。Jellyfin是Emby的3.5.2版本的派生版本,并移植到.NET Core框架,以支持完全的跨平台支持。

Jellyfin 使你能够收集、管理和串流你的媒体。在你的系统上运行 Jellyfin 服务器,就可以访问领先的免费软件娱乐系统,包括各种铃声和口哨声。

  • 电影:轻松浏览您收藏的全部电影,并欣赏精美的艺术作品。

  • 节目:观看您最喜爱的节目,这些节目按季节自动分类,随时可供狂欢。

  • 音乐:在家或外出时都能聆听音乐、艺术家和播放列表。

  • 实时电视和 DVR:观看电视并设置自动录制,扩展你的资料库。

  • 书籍:阅读书籍、漫画和杂志。

  • 照片:整理照片,与亲朋好友分享美好回忆。

  • 同步播放:远程共享电影之夜从未如此简单。

Jellyfin 的设计也很简约,无广告,在观影过程中不会有其他视频类应用的的开屏广告、暂停广告、弹框广告等。基于固定的带宽,无人为的限速,播放不卡顿,高清播放,不用VIP即可倍速播放。真正的可以建立个人专属的影音视频库,可以记录观影信息。如果视频文件包含meta信息,可以自动获取对应的影视信息。

3.2 Docker 环境搭建

本次服务器环境是ubuntu系统镜像,需要自己安装docker环境

服务器类别 系统镜像 内网IP地址 Docker版本 操作系统版本
云耀云服务器L实例 Ubuntu 192.168.0.168 20.10.24 Ubuntu 22.04.1 LTS

使用snap命令安装docker

bash 复制代码
root@hcss-ecs-f632:~# snap install docker
docker 20.10.24 from Canonical✓ installed

测试docker安装是否成功

bash 复制代码
root@hcss-ecs-f632:~# docker -v
Docker version 20.10.24, build 297e128

检查docker服务状态

bash 复制代码
root@hcss-ecs-f632:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2023-09-14 14:25:21 CST; 2 days ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 30672 (dockerd)
      Tasks: 73
     Memory: 137.0M
        CPU: 2min 37.906s
     CGroup: /system.slice/docker.service

检查docker compose版本

bash 复制代码
root@hcss-ecs-f632:~# docker compose version
Docker Compose version v2.17.2

3.3 Jellyfin 部署

  • 下载镜像

从 docker hub 拉取 Jellyfin 镜像,地址:https://hub.docker.com/r/jellyfin/jellyfin

bash 复制代码
root@hcss-ecs-f632:~# docker pull jellyfin/jellyfin
Using default tag: latest
latest: Pulling from jellyfin/jellyfin
7dbc1adf280e: Already exists
fe8f721fbd98: Pull complete
72d8918d1ff1: Pull complete
7c27c084bf78: Pull complete
Digest: sha256:d39f8826c0e48b08770b735ab0342c9cb9fc08c59777f41080c76549526fd667
Status: Downloaded newer image for jellyfin/jellyfin:latest
docker.io/jellyfin/jellyfin:latest
  • 配置安全组

在华为云云耀云服务器L实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听8096端口,所以添加安全组为TCP:8096协议端口。

  • 启动服务

使用docker-compose方式启动,先创建文件docker-compose.yml

yml 复制代码
version: '3.5'
services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    volumes:
      - ./config:/config
      - ./cache:/cache
      - ./media:/media
      - ./media2:/media2:ro
    restart: unless-stopped
    ports:
      - "8096:8096"
  • volumes:映射容器内部文件路径到本地
  • ports:配置访问端口

如果将上述代码片段保存在名为 docker-compose.yml 的文件中,则只需从同一文件夹中运行 docker compose up -d 即可自动拉取 jellyfin 映像,并创建并启动一个容器。 up 表示启动服务,-d 表示在后台执行。docker-compose down 命令用于停止和清理由 docker-compose up 启动的服务。

bash 复制代码
root@hcss-ecs-f632:~/jellyfin# docker-compose up -d
Creating network "jellyfin_default" with the default driver
Creating jellyfin... done
  • 检查容器状态

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

bash 复制代码
root@hcss-ecs-f632:~/jellyfin# docker ps
CONTAINER ID   IMAGE                                    COMMAND                  CREATED       STATUS                   PORTS                                                 NAMES
4d2425b7b0be   jellyfin/jellyfin                        "/jellyfin/jellyfin"     2 hours ago   Up 9 minutes (healthy)   0.0.0.0:8096->8096/tcp, :::8096->8096/tcp             jellyfin
  • 访问地址

内网:http://localhost:8096

外网:http://公网IP:8096

  • 访问结果

若出现此页面,则部署 jellyfin server 成功。

3.4 Jellyfin 使用

设置首选语言为汉语(简化字)

设置用户名和密码,作为管理员账户

设置你的媒体库,暂不设置

首选元数据语言,将语言设置为Chinese

设置远程访问,保持默认

完成 Jellyfin 初始化

登录:输入前面创建的用户名和密码

点击创建,添加媒体库

添加媒体库:选择内容类型,如电影;添加文件夹:下拉列表查看对应docker-compose中配置的数据卷对应的文件夹,可以继续创建子目录,如在media目录下创建movie目录:mkdir movie,其他配置保持默认

我们来查看下 jellyfin 的映射文件路径下的结构

bash 复制代码
root@hcss-ecs-f632:~/jellyfin/media/movie# ls
 _AUXOUT_当我们回顾2019.mp4   _AUXOUT_牵起我的手.mp4  '[IKITA]关于我的加州梦 California Dreamin.mp4'  '[IKITA]自由是一场坠入_坠入城市边缘_坠入无尽的梦中.mp4'
  • movie即为电影视频文件目录

我们可以侧边栏的元数据中查看媒体资料管理器,查看文件路径下的文件信息

Jellyfin 作为影音媒体系统的个人使用就是上面的这些了,更多的功能和配置就需要自行探索了。

四、总结

云耀云服务器L实例是新一代开箱即用、面向中小企业和开发者打造的全新轻量应用云服务器。云耀云服务器L实例提供丰富严选的应用镜像,实现应用一键部署,助力客户便捷高效的在云端构建电商网站、Web应用、小程序、学习环境、各类开发测试等。

而且云耀云服务器L实例使用门槛较低,如果您是正在了解云计算服务的入门用户,或是需要在服务器中部署简单应用的个人开发者、中小企业,比如部署一些轻量级的有趣的项目,那么推荐您选择云耀云服务器L实例

Jellyfin 作为在线影音媒体系统,目前只有在自动扫描添加的文件时会出现服务器卡顿现象,扫描完成后,浏览信息和播放视频均很流畅,当前的华为云云耀云服务器L实例选配配置较低,此项目需要大的运行内存,所以需要适当增加配置,尤其是带宽,否则会出现无法访问的情况。

如果项目具有高访问量或需要传输大量数据(如图像、视频、文件下载等),将占用更多带宽。如果项目需要频繁地从服务器向客户端传输数据,例如实时更新或推送通知,可能会占用更多带宽。

相关推荐
华为云PaaS服务小智2 小时前
华为大咖说 | 浅谈智能运维技术
运维·华为·华为云
IT民工金鱼哥3 天前
【华为云-云驻共创】UCS跨云多活容灾:让业务高可用不再是难题
华为云
知孤云出岫5 天前
华为云计算知识总结——及案例分享
华为·华为云·云计算
嘟嘟Listing5 天前
华为云安装docker
docker·容器·华为云
博客园团队5 天前
又给会员送福利,100台一年华为云2核2G3M云服务器
华为云
三掌柜6666 天前
鸿蒙原生应用开发及部署:首选华为云,开启HarmonyOS NEXT App新纪元
华为·华为云·harmonyos·鸿蒙·1024程序员节
shiming88796 天前
GaussDB Ustore存储引擎解读
华为云·gaussdb ustore
wangye114227 天前
共创一带一路经济体,土耳其海外媒体软文发稿 - 媒体宣发报道
大数据·人工智能·华为云·游戏引擎·产品运营
华为云开源8 天前
华为云开源项目Sermant正式成为CNCF官方项目
微服务·云原生·开源·华为云