828华为云征文|部署音乐流媒体服务器 mStream

news2024/12/23 19:33:17

828华为云征文|部署音乐流媒体服务器 mStream

  • 一、Flexus云服务器X实例介绍
  • 二、Flexus云服务器X实例配置
    • 2.1 重置密码
    • 2.2 服务器连接
    • 2.3 安全组配置
    • 2.4 Docker 环境搭建
  • 三、Flexus云服务器X实例部署 mStream
    • 3.1 mStream 介绍
    • 3.2 mStream 部署
    • 3.3 mStream 使用
  • 四、总结

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

云服务器是一种基于云计算技术的虚拟主机服务,用户可以通过互联网获取按需分配的计算资源。它具有高度的灵活性和可扩展性,允许用户根据实际需求快速调整配置。相比传统服务器,云服务器能够提供更好的成本效益、更高的可用性和更强的数据安全性,适合各种规模的企业使用。

华为云下一代云服务器Flexus X实例焕新上线,新产品基于客户业务负载进行动态性能画像,智能推荐资源规格,持续优化性能和成本,按业务算力需求进行精细定价,根据实际使用算力付费,真正用多少花多少,针对迁移场景智能资源预画像,帮助用户在华为云上推荐匹配的资源规格,覆盖大多数通用工作负载场景。

在这里插入图片描述

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

在这里插入图片描述
本次测评使用的规格是:4核12G-100G-3M规格的Flexus X实例基础模式

在这里插入图片描述

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

2.1 重置密码

购买服务器的时候可以提前设置用户名和密码,因为我这里跳过了,所以购买完成后需要重置密码,会短信或站内消息通过你的云服务器信息,重点是公网IP地址和用户名,首先打开你的服务器控制台,选择重置密码

在这里插入图片描述

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

在这里插入图片描述

2.2 服务器连接

华为云服务器提供了多种链接方式,如使用控制台提供的VNC方式登录、使用Linux/Mac OS系统主机登录Linux弹性云服务器(即ssh root@192.168.48.78命令)或者使用Putty、Xshell等工具登录Linux弹性云服务器。

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

在这里插入图片描述

2.3 安全组配置

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

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

在这里插入图片描述

主要需要填写优先级(默认填1即可)、协议端口(协议一般为TCPUDP,端口一般选择你项目需要暴露的端口即可),描述(选填,一般会填写此端口的用途以免忘记了),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。

在这里插入图片描述

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

2.4 Docker 环境搭建

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

服务器类别系统镜像内网IP地址Docker版本操作系统版本
Flexus云服务器X实例Ubuntu192.168.0.16827.2.0Ubuntu 22.04.4 LTS

使用apt-get命令安装docker及其配置

# 安装必要工具包
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

# 添加Docker GPG秘钥
$ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

# 配置仓库源
$ sudo add-apt-repository \
      "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
      $(lsb_release -cs) \
      stable"	

# 更新apt包索引
$ sudo apt-get update

# 安装docker
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

# 添加docker镜像源
$ sudo vim /etc/docker/daemon.json

{
    "registry-mirrors": [
        "https://ustc-edu-cn.mirror.aliyuncs.com/",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn",
        "https://ccr.ccs.tencentyun.com/",
        "https://docker.m.daocloud.io/",
        "https://dockerproxy.com",
    ]
}
# 重启
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

测试docker安装是否成功

root@flexusx-c6b3:~# docker -v
Docker version 27.2.0, build 3ab4256```

检查docker服务状态

root@flexusx-c6b3:~# systemctl status docker
* docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h ago
TriggeredBy: * docker.socket
       Docs: https://docs.docker.com
   Main PID: 24912 (dockerd)
      Tasks: 13
     Memory: 24.7M
        CPU: 3.778s
     CGroup: /system.slice/docker.service
             `-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

检查docker compose版本

root@flexusx-c6b3:~# docker compose version
Docker Compose version v2.29.2

三、Flexus云服务器X实例部署 mStream

3.1 mStream 介绍

mStream是一个个人音乐流媒体服务器,用户可以轻松地搭建并管理自己的音乐服务器。这意味着您可以将个人音乐收藏上传到服务器上,然后从任何设备通过互联网访问您的音乐。相比传统的流媒体服务,mStream使您完全掌控自己的音乐,不受任何平台的限制,也没有任何广告的干扰。更令人兴奋的是,mStream还支持音乐文件在不同设备间的离线同步。

  • 设备兼容性:mStream拥有适用于iOS和Android的移动App,并且支持通过任意现代浏览器进行音乐播放。这种跨设备的无缝整合,使您在旅途中也能随时随地享受音乐。

  • 无缝播放:Gapless Playback功能确保了曲目间的平滑过渡,让音乐听起来浑然一体,尤其适合古典音乐和连续性强的专辑。

  • 视觉震撼:内置的Milkdrop可视化工具提供了一种视听结合的盛宴,让您的音乐体验更为丰富。

  • 轻松分享:playlist分享功能和拖放文件上传大大方便了音乐分享与管理。

  • 更多功能:无缝播放、Milkdrop 可视化工具、播放列表共享、拖放文件上传

在这里插入图片描述

mStream不仅仅是一个音乐播放器,它更像是一个私人云端音乐库。无论您身在何处,只需要互联网连接,就可以享受无障碍的音乐体验。而对于音乐发烧友和高品质音频爱好者来说,mStream支持无压缩的FLAC文件格式,让您不损失一丝音质细节。

  • 官网:https://mstream.io/
  • Github:https://github.com/IrosTheBeggar/mStream

3.2 mStream 部署

  • 创建 docker-compose.yml
version: "3"
services:
  mstream:
    image: lscr.io/linuxserver/mstream:latest
    container_name: mstream
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
    volumes:
      - ./config:/config
      - ./music:/music
    ports:
      - 8093:3000
    restart: unless-stopped
  • ports: 映射主机的 8093 端口到容器的 80 端口
  • volumes: 将主机目录挂载到容器目录

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

  • 启动服务

进入项目目录,执行docker-compose up -d启动命令,会自动拉取容器并运行

从 Dockerhub 拉取 mStream 镜像,地址:https://hub.docker.com/r/linuxserver/mstream

root@flexusx-c6b3:~/mstream# docker-compose up -d
Creating network "mstream_default" with the default driver
Pulling mstream (lscr.io/linuxserver/mstream:latest)...
latest: Pulling from linuxserver/mstream
b4fa62a600be: Pull complete
df25a931801a: Pull complete
0be3d9a79057: Pull complete
63d699e4e9b1: Pull complete
2fdbedb131bd: Pull complete
f624edeae4f4: Pull complete
f3788ab1c6c7: Pull complete
1d1ac8f2d2c4: Pull complete
Digest: sha256:8e5de8f8c80e027366bf583adb4a43e6cc675b2986b9e51a38ec53fdbac6a724
Status: Downloaded newer image for lscr.io/linuxserver/mstream:latest
Creating mstream ... 
Creating mstream ... done
  • 配置安全组

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

在这里插入图片描述

  • 检查容器状态

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

root@flexusx-c6b3:~/mstream# docker ps
CONTAINER ID   IMAGE                                       COMMAND           CREATED          STATUS          PORTS                                       NAMES
af51ee334628   lscr.io/linuxserver/mstream:latest          "/init"           12 seconds ago   Up 10 seconds   0.0.0.0:8093->3000/tcp, :::8093->3000/tcp   mstream
  • 访问地址

内网:http://localhost:8093
外网:http://公网IP:8093

  • 访问结果

在这里插入图片描述

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

3.3 mStream 使用

进入 Admin Panel 管理面板,查看设置文件目录,默认已经添加 /music 目录

在这里插入图片描述

添加用户,首次添加为管理员帐号,身份验证将被开启

在这里插入图片描述

查看数据库扫描设置,开启手动开启扫描

在这里插入图片描述

手动复制音乐文件到 music 目录下,刷新网页即可显示音乐列表了,也可以将文件拖动到网页上上传文件

在这里插入图片描述

一键添加播放列表

用户资料里,有很多设置项,比如UI设置(默认不支持中文),通知设置、邮箱设置和修改密码

左侧列表还显示:播放列表、专辑、歌手、最近添加、最近播放、最常播放、收藏等分类,还可以搜索

在这里插入图片描述

播放处可以设置循环方式、DJ风格、音乐可视化插件、音量等

在这里插入图片描述

播放列表可以保存、下载、分享播放列表

在这里插入图片描述

流媒体服务如Spotify、Apple Music等正在改变人们消费音乐的方式。虽然这些服务用海量曲库和便捷的使用方式吸引了众多用户,但它们也带来了不容忽视的问题。首先,用户对音乐拥有的控制权逐渐减弱,他们的歌曲列表随时可能被平台政策更改或移除。其次,广告和付费订阅制度也让人们对这些服务产生了些许依赖和反感。

mStream作为一个开源的音乐流媒体服务器,以其强大的功能和用户友好的设计,彻底颠覆了传统流媒体服务的运作方式,不仅解决了用户在音乐使用上的诸多困扰,还提供了一种更加自由和私密的音乐使用体验。虽然用户界面可能不像其他选项那样精致或直观、有些用户可能更喜欢为其音乐流媒体服务器提供更多高级自定义选项,整体作为音乐服务器的作用就已经很够了,还有更多有趣的设置和功能就需要自行探索了。

四、总结

mStream不仅仅是一个音乐播放器,它更像是一个私人云端音乐库。无论您身在何处,只需要互联网连接,就可以享受无障碍的音乐体验。而对于音乐发烧友和高品质音频爱好者来说,mStream支持无压缩的FLAC文件格式,让您不损失一丝音质细节。此次使用的Flexus X实例配置还是很高的4核12G-100G-3M规格基础模式,mStream 还设计为轻量级,这意味着它可以在配置较低的机器上运行,不会出现任何延迟或性能问题。它已在多 TB 库上进行了测试,因此您可以存储任意数量的音乐而不必担心空间问题。

华为云服务器828 B2B企业节来袭!稳定可靠,为你的业务发展注入强大动力。专业的技术支持团队,保障服务质量,弹性扩展,满足不同阶段需求,快来体验华为云服务器的卓越品质 ,开启高效云端办公新时代。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2182105.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UE4完整教程 UE4简介 UE4学习攻略及文件格式

开头附上工作招聘面试必备问题噢~~包括综合面试题、无领导小组面试题资源文件免费!全文干货。 UE4简介学习攻略UE4Demo代码面试内容资源-CSDN文库https://download.csdn.net/download/m0_72216164/89825102 工作招聘无领导小组面试全攻略最常见面试题(第一部分)共有17章+可…

PCL 点云模型滤波(圆形)

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 生成点云数据 2.1.2 模型滤波函数 2.1.3 可视化函数 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接: PCL点云算法与项目实战案例汇总&#xf…

「JavaScript深入」彻底理解JS中的闭包

JavaScript深入 — 闭包 一、概念二、示例三、实用的闭包四、用闭包模拟私有方法五、一个常见错误:在循环中创建闭包🌰 另一个经典例子-定时器与闭包 六、优劣好处坏处解决 七、图解闭包八、应用 💪封装私有变量函数工厂异步操作中的回调函数…

css中背景色、背景图的使用

1、同时使用背景色、背景图片 参考链接:链接 以下样式,背景色在图片下方(缺点:图片不透明时,背景色会被完全遮挡。) .header {height: 100%;width: 100%;background-color: #000;background-image: url(/static/images/back.pn…

云原生之运维监控实践-使用Prometheus与Grafana实现对MySQL和Redis服务的监测

背景 如果你要为应用程序构建规范或用户故事,那么务必先把应用程序每个组件的监控指标考虑进来,千万不要等到项目结束或部署之前再做这件事情。——《Prometheus监控实战》 去年写了一篇在Docker环境下部署若依微服务ruoyi-cloud项目的文章,当…

数据结构之手搓顺序表(顺序表的增删查改)

目录 文章目录 前言 一、什么是顺序表? 二、动态顺序表的实现 1.头文件定义 2.实现顺序表的初始化 3.检查顺序表空间容量是否足够,不够就增容 4.顺序表的销毁 5.顺序表的打印 6.顺序表的尾插 7.顺序表的头插 8.顺序表的头删 9.顺序表的尾删 10.顺序…

LeetCode题练习与总结:二叉树的所有路径--257

一、题目描述 给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root [1,2,3,null,5] 输出:["1->2->5","1->…

RabbitMQ基本原理

一、基本结构 所有中间件技术都是基于 TCP/IP 协议基础之上进行构建新的协议规范,RabbitMQ遵循的是AMQP协议(Advanced Message Queuing Protocol - 高级消息队列协议)。 生产者发送消息流程: 1、生产者和Broker建立TCP连接&#…

国庆同欢,祖国昌盛!肌肉纤维启发,水凝胶如何重构聚合物

在这个国庆佳节,我们共同感受祖国的繁荣昌盛,同时也迎来了知识的探索之旅。今天来了解聚合物架构的重构的研究——《Hydrogel‐Reactive‐Microenvironment Powering Reconfiguration of Polymer Architectures》发表于《Advanced Science》。材料科学不…

【数据结构与算法】算法和算法分析

文章目录 一.算法1.定义2.描述 二.算法与程序三.算法特性四.算法效率的度量4.1算法时间事前分析法算法时间复杂度的渐进表示法分析算法时间复杂度的基本方法 4.2算法空间 数据的逻辑结构映像到内存就是数据的存储结构,针对数据的逻辑结构可以选择多种存储结构。数据…

Kotlin:2.0.0 的新特性

一、概述 kotlin 2.0.0版本英文官方文档 The Kotlin 2.0.0 release is out and the new Kotlin K2 compiler is Stable! Additionally, here are some other highlights: Kotlin 2.0.0发布了,新的Kotlin K2编译器已经稳定了。此外,以下是其他一些亮点: …

Linux操作系统中dubbo

1、简介 dubbo框架是做微服务通信的,是由阿里巴巴开发,后捐赠给阿帕奇基金会。 2、与OpenFeign的区别 dubbo是采用RPC协议实现微服务通信,OpenFeign是采用Http请求的方式实现的。 OpenFeign 最简单的,就是Spring公司开发的&am…

TinyAP:使用TinyML对抗Wi-Fi攻击的智能接入点

论文标题: 英文:TinyAP: An intelligent Access Point to combat Wi-Fi attacks using TinyML中文:TinyAP:使用TinyML对抗Wi-Fi攻击的智能接入点 作者信息: Anand Agrawal 和 Rajib Ranjan Maiti,来自印…

C语言常用标准库 -- 5.<time.h>

目录 引言 5. C标准库--time.h 5.1 简介 5.2 常量与宏 5.3 库变量 5.4 库宏 5.5 库函数 5.6 注意事项 🌈你好呀!我是 程序猿 🌌 2024感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅,挖掘无限可能,…

线程池面试集

目录 线程池中提交一个任务的流程是怎样的? 线程池有五种状态 如何优雅的停止一个线程? 线程池的核心线程数、最大线程数该如何设置? 如何理解Java并发中的可见性、原子性、有序性? Java死锁如何避免? 线程池中提交一个任务的流程是怎样的? 线程池有五种状态 如何优…

【docker学习】Linux系统离线方式安装docker环境方法

centos7-linux安装docker(离线方式) 下载docker的安装文件 https://download.docker.com/linux/static/stable/x86_64/ 下载的是:docker-18.06.3-ce.tgz 这个压缩文件 将docker-18.06.3-ce.tgz文件上传到centos7-linux系统上,用ftp工具上传即可 解压…

《RabbitMQ篇》基本概念介绍

MQ功能 解耦 MQ允许不同系统或组件之间松散耦合。发送者和接收者不需要直接连接,从而提高了系统的灵活性和可维护性。异步处理 使用MQ可以实现异步消息传递,发送者可以将消息放入队列后立即返回,不必等待接收者处理。这提高了系统的响应速度…

鸿蒙NEXT开发-ArkTS(基于最新api12稳定版)

注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…

Spring IoC笔记

目录 1.什么是 IoC? 2.IoC类注解(五大注解) 2.1那为什么要这么多类注解? 2.2五大注解是不是可以混用? 2.3程序被spring管理的条件是? 3.bean对象 3.1Bean 命名约定 3.2获取bean对象 4.⽅法注解 B…

《应急通信产业发展研究报告》蓝皮书解读

近日,中国信通院发布了《应急通信产业发展研究报告》蓝皮书,该报告是对中国应急通信产业现状、发展趋势及其政策环境的综合分析,旨在为行业发展提供参考与指导。以下是小编对该蓝皮书的一些内容解读: 1.应急通信的重要性 应急通信…