828华为云征文|部署音乐流媒体服务器 mStream
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即可)、协议端口
(协议一般为TCP
或UDP
,端口一般选择你项目需要暴露的端口即可),描述
(选填,一般会填写此端口的用途以免忘记了),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。
如果还不清楚可以参考文档:安全组配置示例
2.4 Docker 环境搭建
本次服务器环境是ubuntu系统镜像,需要自己安装docker环境
服务器类别 | 系统镜像 | 内网IP地址 | Docker版本 | 操作系统版本 |
---|---|---|---|---|
Flexus云服务器X实例 | Ubuntu | 192.168.0.168 | 27.2.0 | Ubuntu 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 EngineLoaded: 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.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 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: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 -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
目录下,刷新网页即可显示音乐列表了,也可以将文件拖动到网页上上传文件
一键添加播放列表
左侧列表还显示:播放列表、专辑、歌手、最近添加、最近播放、最常播放、收藏等分类,还可以搜索
播放处可以设置循环方式、DJ风格、音乐可视化插件、音量等
播放列表可以保存、下载、分享播放列表
流媒体服务如Spotify、Apple Music等正在改变人们消费音乐的方式。虽然这些服务用海量曲库和便捷的使用方式吸引了众多用户,但它们也带来了不容忽视的问题。首先,用户对音乐拥有的控制权逐渐减弱,他们的歌曲列表随时可能被平台政策更改或移除。其次,广告和付费订阅制度也让人们对这些服务产生了些许依赖和反感。
mStream作为一个开源的音乐流媒体服务器,以其强大的功能和用户友好的设计,彻底颠覆了传统流媒体服务的运作方式,不仅解决了用户在音乐使用上的诸多困扰,还提供了一种更加自由和私密的音乐使用体验。虽然用户界面可能不像其他选项那样精致或直观、有些用户可能更喜欢为其音乐流媒体服务器提供更多高级自定义选项,整体作为音乐服务器的作用就已经很够了,还有更多有趣的设置和功能就需要自行探索了。
四、总结
mStream不仅仅是一个音乐播放器,它更像是一个私人云端音乐库。无论您身在何处,只需要互联网连接,就可以享受无障碍的音乐体验。而对于音乐发烧友和高品质音频爱好者来说,mStream支持无压缩的FLAC文件格式,让您不损失一丝音质细节。此次使用的Flexus X实例
配置还是很高的4核12G-100G-3M规格
的基础模式
,mStream 还设计为轻量级,这意味着它可以在配置较低的机器上运行,不会出现任何延迟或性能问题。它已在多 TB 库上进行了测试,因此您可以存储任意数量的音乐而不必担心空间问题。
华为云服务器828 B2B企业节
来袭!稳定可靠,为你的业务发展注入强大动力。专业的技术支持团队,保障服务质量,弹性扩展,满足不同阶段需求,快来体验华为云服务器的卓越品质 ,开启高效云端办公新时代。
相关文章:
828华为云征文|部署音乐流媒体服务器 mStream
828华为云征文|部署音乐流媒体服务器 mStream 一、Flexus云服务器X实例介绍二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置2.4 Docker 环境搭建 三、Flexus云服务器X实例部署 mStream3.1 mStream 介绍3.2 mStream 部署3.3 mStream 使用 四、…...
【动态规划-最长公共子序列(LCS)】力扣712. 两个字符串的最小ASCII删除和
给定两个字符串s1 和 s2,返回 使两个字符串相等所需删除字符的 ASCII 值的最小和 。 示例 1: 输入: s1 “sea”, s2 “eat” 输出: 231 解释: 在 “sea” 中删除 “s” 并将 “s” 的值(115)加入总和。 在 “eat” 中删除 “t” 并将 116 加入总和。 结束时&…...
override
override 是 C11 引入的一个关键字,override 的作用是在派生类中显式地声明某个函数是用于重写基类的虚函数。它不仅仅是一个语法标记,更重要的是提供了编译时的错误检查功能,确保程序员确实按照预期在派生类中重写了基类的函数。如果没有正确…...
万象奥科工业平板上线,邀您体验与众不同!
Vanxoak推出的全新品类——ARM工业平板电脑!该系列工业平板具有防护等级高、接口丰富、易开发等特点,专为工业HMI(人机界面)和工业控制领域设计。整机采用高性能工业级ARM处理器,适配全贴合电容触摸屏,可选…...
java将word转pdf
总结 建议使用aspose-words转pdf,poi的容易出问题还丑… poi的(多行的下边框就不对了) aspose-words的(基本和word一样) poi工具转换 <!-- 处理PDF --><dependency><groupId>fr.opensagres.xdocreport</groupId><artifactId>fr.opensagres…...
Golang | Leetcode Golang题解之第449题序列化和反序列化二叉搜索树
题目: 题解: type Codec struct{}func Constructor() (_ Codec) { return }func (Codec) serialize(root *TreeNode) string {arr : []string{}var postOrder func(*TreeNode)postOrder func(node *TreeNode) {if node nil {return}postOrder(node.Le…...
基于SpringBoot+Vue+MySQL的美食信息推荐系统
系统展示 用户前台界面 管理员后台界面 系统背景 在数字化时代,随着人们对美食文化的热爱与追求不断增长,美食信息推荐系统成为了连接食客与美食之间的重要桥梁。面对海量的美食信息,用户往往难以快速找到符合个人口味和需求的美食。因此&…...
spring boot jar 分离自动部署脚本
背景 远程部署时spring boot 包,比较大。可以采用依赖库和业务包分离的方式。提供一个脚本进行自动部署 maven 配置分离jar包 <build><finalName>${project.artifactId}</finalName><plugins><plugin><groupId>org.springfra…...
PGMP-03战略一致性
1.概要 program strategy alignment:战略一致性 2.详细...
华为OD机试真题---智能成绩表
题目描述 小明来到某学校当老师,需要将学生按考试总分或单科分数进行排名。输入包括学生人数、科目数量、科目名称、每个学生的姓名和对应科目的成绩,最后输入一个用作排名的科目名称。如果输入的排名科目不存在,则按总分进行排序。输出一行…...
828华为云征文 | 华为云Flexus云服务器X实例搭建企业内部VPN私有隧道,以实现安全远程办公
VPN虚拟专用网络适用于企业内部人员流动频繁和远程办公的情况,出差员工或在家办公的员工利用当地ISP就可以和企业的VPN网关建立私有的隧道连接。 通过拨入当地的ISP进入Internet再连接企业的VPN网关,在用户和VPN网关之间建立一个安全的“隧道”ÿ…...
Hadoop集群的高可用(HA):NameNode和resourcemanager高可用的搭建
文章目录 一、NameNode高可用的搭建1、免密配置2、三个节点都需要安装psmisc3、检查三个节点是否都安装jdk以及zk4、检查是否安装了hadoop集群5、修改hadoop-env.sh6、修改core-site.xml7、修改hdfs-site.xml8、检查workers 文件是否为三台服务9、分发给其他两个节点10、初始化…...
支付宝沙箱环境 支付
一 什么是沙箱: 沙箱环境是支付宝开放平台为开发者提供的安全低门槛的测试环境 支付宝正式和沙箱环境的区别 : AI: 从沙箱到正式环境: 当应用程序开发完成后,需要将应用程序从沙箱环境迁移到正式环境。 这通常涉及…...
获取unity中prefab的中文文本内容以及和prefab有关的问题
背景1:经常会在开发中遇到策划需要改某个界面,但是我们不知道那是什么界面,只看到一些关键字比如圣诞活动,那这样我就可以轻易找到这个预设了。另外还可以扩展就是收集项目中的所有中文文本然后归集到多语言表中,然后接…...
Web自动化中常用XPath定位方式
在进行Web自动化测试时,元素定位是一个至关重要的环节。XPath(XML Path Language)是一种用于在XML文档中定位节点的语言。在Web自动化中,XPath广泛应用于定位HTML元素。本文将详细介绍几种常用的XPath定位方式,包括绝对…...
Unity3D播放GIF图片使用Animation来制作动画
系列文章目录 unity工具 文章目录 系列文章目录👉前言👉一、下载GIF动图,用PS制作导出帧动画图片👉二、使用Animation制作动画👉三、脚本控制动画播放👉壁纸分享👉总结👉前言 unity播放gif图片,本身是不支持的,但是可以使用其他方法来实现, 1.有一种使用System…...
redo log 和 bin log 的两阶段提交
两阶段提交的过程 当事务提交后,有一个两阶段提交策略。 在开启两阶段提交时,会开启一个 XA 事务(宏观上的事务), Prepare 阶段:将 redo log 的状态设置为 prepare,然后将 事务XID 写入 redo…...
Go基础学习07-map注意事项;多协程对map的资源竞争;sync.Mutex避免竟态条件
文章目录 Go中map使用以及注意事项map使用时的并发安全问题 Go中map使用以及注意事项 Go语言中map使用简单示例: func main() {var mp map[string]int// mp : map[string]int{}val, ok : mp["one"]if ok {fmt.Println(val)} else {fmt.Println(val)}mp[…...
远程服务器安装anaconda并创建虚拟环境
1、承接上文新用户zrcs,在服务器的zrcs文件夹下直接下载anaconda(很慢): wget https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh 或者选择本地下载,清华大学开源软件镜像站:https:/…...
什么是IIC通信协议?
IIC(Inter-Integrated Circuit)通信协议,又称为I2C(Inter-Integrated Circuit 2)协议,是一种广泛使用的串行通信协议。它由飞利浦半导体公司(现NXP Semiconductors)开发,…...
P3131 [USACO16JAN] Subsequences Summing to Sevens S Python题解
[USACO16JAN] Subsequences Summing to Sevens S 题目描述 Farmer John’s N N N cows are standing in a row, as they have a tendency to do from time to time. Each cow is labeled with a distinct integer ID number so FJ can tell them apart. FJ would like to ta…...
鸿蒙NEXT开发-ArkUI(基于最新api12稳定版)
注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…...
Matplotlib 使用 LaTeX 渲染图表中的文本、标题和数学公式
Matplotlib 使用 LaTeX 渲染图表中的文本、标题和数学公式 Matplotlib 是一个功能强大的 Python 库,用于绘制各种高质量的图表和图形。在许多科研和技术文档中,数学公式是不可或缺的一部分,LaTeX 提供了精美的数学公式渲染能力。Matplotlib …...
Android 安卓内存安全漏洞数量大幅下降的原因
谷歌决定使用内存安全的编程语言 Rust 向 Android 代码库中写入新代码,尽管旧代码(用 C/C 编写)没有被重写,但内存安全漏洞却大幅减少。 Android 代码库中每年发现的内存安全漏洞数量(来源:谷歌)…...
c++primier第十二章类和动态内存
本章内容包括: 对类成员使用动态内存分配隐式和显式地复制构造函数隐式和显式地重载赋值操作符在构造函数中使用new所必须完成的工作使用静态类成员 将布局new操作符用于对象使用指向对象的指针实现队列抽象数据类型(ADT) 动态内存和类 复习范例和静态类成员 首…...
Ansible学习之ansible-pull命令
想要知道ansible-pull是用来做什么的,就需要了解Ansible的工作模,Ansible的工作模式有两种: push模式 push推送,这是Ansible的默认模式,在主控机上编排好playbook文件,push到远程主机上来执行。pull模式 p…...
Linux:磁盘管理
一、静态分区管理 静态的分区方法不可以动态的增加或减少分区的容量。 1、磁盘分区-fdisk 该命令是用于查看磁盘分区情况,和分区管理的命令 命令格式:fdisk [选项] 设备文件名常用命令: -h:查看分区信息 fdisk系统常用命令&…...
FP7209: 用于紫外线消毒灯的 升压LED恒流驱动芯片
现在社会对于居家消毒也越发重视起来。而居家消毒除了75%浓度酒精及各类消毒液外,利用紫外线灯给衣物表面、房间消毒也是一种很好的选择。FP7209 定位于低压线性恒流驱动,精度高、外围电路简单、使用方便且可靠性高,更可广泛应用于商业照明系…...
【华为HCIP实战课程二】OSPF基础介绍和OSPF RID NBMA配置详解
一、OSPF多区域 自治系统(Autonomous System) 一个自治系统是指使用同一种路由协议交换路由信息的一组路由器 1、Area0为骨干区域 2、ABR--关乎3类LSA后续详解 ABR用来连接骨干区域Area0和非骨干区域,它与骨干区域之间既可以是物理连接,也可以是逻辑上的连接。 3、AS…...
网络编程(13)——单例模式
十三、day13 今天学习如何单例模式实现逻辑层的设计。内容包括服务器如何能捕获信号使其安全退出、单例模标类 1. 什么是单例模式? 单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点&…...
建设银行纪检监察网站/10条重大新闻事件
一、体系结构ORACLE是一个具有跨平台特性的数据库,ORACLE SERVER分为database和instance。数据文件、控制文件、联机重做日志、参数文件、密码文件等组合称为database。一个database可以被一个或多个instance mount。instance由内存区和后台进程组成。二、instance内…...
shopify做全品类网站/百度快照官网
5月12日,英国、意大利、俄罗斯等多个国家爆发勒索病毒攻击,国内校园网也出现大面积感染。 这并不是勒索病毒首次发威。近几年来,勒索病毒已经多次出现爆发的情况。黑客利用Windows漏洞传播病毒后,感染病毒的计算机会将用户的文件加…...
wordpress教程阿里云/优化师培训机构
虽然人工智能威胁论层出不穷,但这并不能阻止AI逐渐渗透进我们生活的各个方面,通过算法交易的股票市场、进入最终测试阶段的无人驾驶汽车、启用FaceID的iPhoneX… 广告行业自然也不例外,在过去的几年中,我们已经看到了被程序化交易…...
简单网站搭建/搜索引擎优化心得体会
Python的三大神器:装饰器.迭代器与生成器!这就是Python的三大神器,好了废话不多说。直接来上干货吧! 生成器 仅仅拥有生成某种东西的能力,如果不用__next__方法是获取不到值得。 创建一个生成器函数 >>> def …...
做网站用的hu软件/惠州seo计费
一、作用域 1、作用域问题:在一个函数中定义的变量,在其他函数中能否被引用?在不同位置定义的变量,在什么范围内有效? 2、定义变量可能有3种情况 [谭浩强] (1)在函数的开头定义; &am…...
网站建设移动端是什么意思/免费云服务器
本篇文章朋友在上海游玩的时候突然想到的...之前就有想写几篇关于nullnull的文章,所以回家到之后就奋笔疾书的写出来发表了 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId709 每日一道理 谁说人与人隔着遥远的重洋,谁说心与心设着坚固的…...