0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

部署音乐流媒体服务器 mStream

jf_94205927 来源:jf_94205927 作者:jf_94205927 2025-01-17 09:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

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

wKgZPGeJsFuAN6O0AAE3gHj2srQ743.png

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

wKgZO2eJsFyACGBIAAvyr-51fqA248.gif

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

wKgZPGeJsFyAS2N1AADdoR406dM075.png

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

2.1 重置密码

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

wKgZO2eJsFyAK9UPAAEhR1_JtKs570.png

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

wKgZPGeJsF2ACrDaAAEm9L_LepM879.png

2.2 服务器连接

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

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

wKgZO2eJsF2AfF7cAAD9ADt1Woc901.png

2.3 安全组配置

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

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

wKgZPGeJsF2AbBBdAAEd4UTEDNA317.png

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

wKgZO2eJsF2AX3v9AAE7Ww8851Q075.png

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

2.4 Docker 环境搭建

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

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

# 安装必要工具包 $ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common# 添加 DockerGPG 秘钥 $ 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 -vDocker version 27.2.0, build 3ab4256```

检查 docker 服务状态

root@flexusx-c6b3:~# systemctl status docker* docker.service - Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h agoTriggeredBy: * docker.socketDocs: https://docs.docker.comMain PID: 24912 (dockerd)Tasks: 13Memory: 24.7MCPU: 3.778sCGroup: /system.slice/docker.service`-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

检查 docker compose 版本

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

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

3.1 mStream 介绍

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

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

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

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

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

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

wKgZPGeJsF6Adk8IAAGiIJhACXM521.png

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:latestcontainer_name:mstreamenvironment:-PUID=1000-PGID=1000-TZ=Asia/Shanghaivolumes:-./config:/config-./music:/musicports:-8093:3000restart: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 -dCreating network "mstream_default" with the default driverPulling mstream (lscr.io/linuxserver/mstream:latest)...latest: Pulling from linuxserver/mstreamb4fa62a600be: Pull completedf25a931801a: Pull complete0be3d9a79057: Pull complete63d699e4e9b1: Pull complete2fdbedb131bd: Pull completef624edeae4f4: Pull completef3788ab1c6c7: Pull complete1d1ac8f2d2c4: Pull completeDigest: sha256:8e5de8f8c80e027366bf583adb4a43e6cc675b2986b9e51a38ec53fdbac6a724Status: Downloaded newer image for lscr.io/linuxserver/mstream:latestCreating mstream ... Creating mstream ... done

·配置安全组

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

wKgZO2eJsF6ATWXyAAArnSNNhvg356.png

·检查容器状态

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

root@flexusx-c6b3:~/mstream# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESaf51ee334628 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

·访问结果

wKgZPGeJsF6AODmDAACq1miwJrk729.png

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

3.3 mStream 使用

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

wKgZO2eJsF-Af4KSAACVlK4rFZ0952.png

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

wKgZPGeJsF-ATDm1AACu_aSTrr4483.png

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

wKgZO2eJsF-ALwxsAACo8dU9HLk691.png

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

wKgZPGeJsF-AEBCZAAETxM6Onh0017.png

一键添加播放列表

wKgZO2eJsGCAYSzfAAGNkNFRgfI910.png

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

wKgZPGeJsGCAAzGAAAEgxGkVr-c784.png

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

wKgZO2eJsGCAYfQnAAGGLbR3jLM952.png

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

wKgZPGeJsGGAb-QGAAGHtNY6J-k173.png

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

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

四、总结

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

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

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    14

    文章

    10447

    浏览量

    91854
  • 华为云
    +关注

    关注

    3

    文章

    2837

    浏览量

    19390
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    普通1588 PTP时钟服务器差在哪?看完你就懂了# PTP服务器# 时间服务器

    服务器
    知道点啥
    发布于 :2026年05月12日 18:41:51

    为什么高端项目都选这款 PTP 服务器?#PTP服务器#授时# 时间服务器

    服务器
    知道点啥
    发布于 :2026年05月12日 18:39:01

    OpenClaw搭建教程:云服务器一键部署完整流程

    很多开发者在了解OpenClaw之后,最关心的其实是一个非常实际的问题:OpenClaw到底怎么搭建?普通云服务器能不能部署?过程复杂吗? 答案其实很简单。OpenClaw本质上是一个
    的头像 发表于 03-12 14:39 799次阅读

    什么是企业云服务器-云计算

    地扩展和管理其IT基础设施。华纳云的企业云服务器基于虚拟化技术,在云环境中运行多个虚拟服务器实例,为企业提供灵活的资源分配和管理。 华纳云的企业云服务器具有以下特点: 1. 高可用性:华纳云通过在多个数据中心
    的头像 发表于 12-29 17:57 1238次阅读

    Jtti分析可以选择日本服务器进行国际应用部署吗?

    在不断发展的全球应用部署领域中,日本服务器已成为追求最佳性能和可靠性的技术专业人士的理想选择。本综合指南深入探讨了利用日本服务器基础设施部署国际应用的技术细节,重点关注影响
    的头像 发表于 12-03 15:19 379次阅读

    香港服务器支持Docker和Kubernetes吗?

    在云原生技术成为主流的今天,Docker和Kubernetes(K8s)已成为现代化应用开发和部署的事实标准。对于选择香港服务器的开发者与企业而言,一个核心问题是:香港服务器能否完美支持Docker
    的头像 发表于 10-21 15:47 1021次阅读

    如何快速在云服务器部署Web环境?

    如何快速在云服务器部署Web环境
    的头像 发表于 10-14 14:16 970次阅读

    DeepSeek模型如何在云服务器部署

    随着大型语言模型(LLM)的应用日益普及,许多开发者和企业希望将像DeepSeek这样的优秀模型部署到自己的云服务器上,以实现私有化、定制化服务并保障数据安全。本文将详细阐述部署Dee
    的头像 发表于 10-13 16:52 1245次阅读

    Jtti云服务器上怎么部署网站吗

    在互联网快速发展的今天,网站已经成为公司和个人沟通和展示自我的重要渠道。无论是一个简单的个人博客,还是一个复杂的电子商务平台,部署网站的过程都是相似的。云服务器因其高可用性、灵活性和经济性,成为
    的头像 发表于 09-26 17:16 1423次阅读

    北京君正X2000:小成本打造流媒体HiFi系统音乐接收

    在这个数字化与音频技术飞速发展的时代,音乐爱好者们对于音乐播放设备的要求越来越高。不仅追求出色的音质,还渴望便捷的操作和多样化的使用场景。飞傲SR11流媒体音乐接收
    的头像 发表于 08-30 10:13 1465次阅读

    什么是服务器虚拟化?一文读懂原理、优势与实战部署

    什么是服务器虚拟化?当企业服务器CPU利用率长期低于15%,却仍需不断采购新硬件应对业务增长时,一场基础设施领域的革命早已悄然发生——服务器虚拟化。这项技术通过将物理服务器划分为多个独
    的头像 发表于 08-25 10:52 1516次阅读
    什么是<b class='flag-5'>服务器</b>虚拟化?一文读懂原理、优势与实战<b class='flag-5'>部署</b>

    如何在米尔TI AM62开发板上部署流媒体服务实现监控功能

    本文将介绍基于米尔电子MYD-YM62X开发板(米尔基于TI AM62开发板)的部署流媒体服务实现监控功能方案的开发测试。摘自优秀创作者-HonestQiao米尔基于TI AM62开发板 米尔-TI
    发表于 07-03 18:32

    如何部署流媒体服务实现监控功能--基于米尔TI AM62x开发板

    本文将介绍基于米尔电子MYD-YM62X开发板(米尔基于TIAM62开发板)的部署流媒体服务实现监控功能方案的开发测试。摘自优秀创作者-HonestQiao米尔-TIAM62x开发板除了可以用官方
    的头像 发表于 07-03 08:03 4044次阅读
    如何<b class='flag-5'>部署</b><b class='flag-5'>流媒体</b><b class='flag-5'>服务</b>实现监控功能--基于米尔TI AM62x开发板

    欧洲服务器免费ip地址怎么获取?#欧洲服务器 #免费IP地址 #服务器

    服务器
    jf_57681485
    发布于 :2025年06月13日 11:15:04