华为云云耀云服务器L实例评测|部署个人音乐流媒体服务器 navidrome

华为云云耀云服务器L实例评测|部署个人音乐流媒体服务器 navidrome

  • 一、云耀云服务器L实例介绍
    • 1.1 云服务器介绍
    • 1.2 产品规格
    • 1.3 产品优势
    • 1.4 支持镜像
  • 二、云耀云服务器L实例配置
    • 2.1 重置密码
    • 2.2 服务器连接
    • 2.3 安全组配置
  • 三、部署 navidrome
    • 3.1 navidrome 介绍
    • 3.2 Docker 环境搭建
    • 3.3 navidrome 部署
    • 3.4 navidrome 使用
  • 四、总结

一、云耀云服务器L实例介绍

1.1 云服务器介绍

云服务器是现代应用程序部署的理想选择。首先,云服务器提供了高度可扩展性,您可以根据需求灵活地增加或减少计算资源,这有助于节省成本和应对流量波动。其次,云服务器具备高可用性,数据备份和冗余使您的应用程序更加稳定,降低了停机时间。此外,云服务器还提供了全球分布式计算,允许您将应用程序和数据部署在全球不同的数据中心,以提供更快的访问速度和更好的用户体验。

华为云焕新推出华为云云服务器实例新品,华为云云服务器具有智能不卡顿、价优随心用、上手更简单、管理特省心这四个优点,从而帮您快速上云!

在这里插入图片描述

从8月底到10月中旬,参与华为云云服务器开启评测活动,可以获得54.99元的优惠券,购买 华为云云耀云服务器L实例 轻量服务器一个月仅需支付0.03元。

在这里插入图片描述
还有 限时秒杀专区,华为云云耀云服务器L实例 每日限量抢购,优惠仅限1单,抢完即止!

在这里插入图片描述

1.2 产品规格

选择华为云云耀云服务器L实例配置时,一般会标注几个关键的硬件参数如下

云服务器配置说明
vCPU2核表示分配给虚拟机的虚拟中央处理器数量,影响服务器可以处理的并发任务数和性能。
内存2GB表示服务器分配的随机存取内存大小,影响服务器同时运行的应用程序的数量和性能。
系统盘40GB表示分配给服务器的硬盘空间大小,用于存储操作系统、应用程序和数据文件。
流量包400GB表示服务器允许的网络传输数据量,通常以每月为单位,影响服务器与外部通信的数据量。
峰值带宽3Mbit/s表示服务器的最大网络传输速度,通常以每秒传输的数据量为单位,影响服务器在网络通信时的传输速率。

目前暂不支持直接更换套餐升级CPU、内存规格。您可以通过如下两种升级CPU、内存规格。

  • 退订当前套餐,重新购买想要的规格套餐
  • 参考升级云耀云服务器L实例规格升级CPU、内存规格。但是通过这种方式升级规格后,您的业务将切换到弹性云服务器而非云耀云服务器L实例。

1.3 产品优势

  • 智能不卡顿:华为云擎天架构加持,软硬协同结合AI算法智能调度,为您提供优质性能。
  • 价优随心用:多种实例规格,平衡性能与成本。
  • 上手更简单:严选多款高品质镜像,经过华为云官方严格测试,覆盖七大场景,预置模板,快速搭建,安全可信。
  • 管理更省心:拓扑、资源、镜像可视化管理,业务架构透明化管理。

1.4 支持镜像

镜像简介
系统镜像仅包含了初始操作系统,不包含任何应用数据环境配置。选用系统镜像创建云服务器后,服务器中是一个纯净的操作系统环境。您可以根据实例的业务需求自行安装应用。
应用镜像包含应用及相关初始化数据、应用所需的运行环境及操作系统。选用应用镜像创建云服务器后,您可以直接使用预置的应用程序,也可以根据实际的业务需求自定义应用配置。减少了应用的上传、安装等环节。

在这里插入图片描述

二、云耀云服务器L实例配置

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即可)、协议端口信息(一般选择你项目需要暴露的端口即可),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。
在这里插入图片描述
如果还不清楚可以参考文档:安全组配置示例

三、部署 navidrome

3.1 navidrome 介绍

Navidrome 可以作为一个独立的服务器使用,它允许您使用Web浏览器浏览和收听您的音乐收藏,
通过现代化的 Web 用户界面,以及适用于 iOS 和 Android 设备的各种第三方兼容移动应用程序。

功能特点

  • 非常低的资源使用率。即使在简单的树莓派零和旧硬件设置上也能很好地运行
  • 处理非常大的音乐收藏
  • 流式传输几乎任何可用的音频格式
  • 读取和使用所有精心策划的元数据
  • 对合辑(各种艺术家专辑)和盒装(多碟专辑)的强大支持
  • 多用户,每个用户都有自己的播放次数,播放列表,收藏夹等。
  • 多平台,可在macOS,Linux和Windows上运行。还提供了 Docker 镜像
  • 即用型,官方,树莓派二进制文件和Docker镜像可用
  • 自动监控库的更改、导入新文件和重新加载新元数据
  • 基于Material UI和React-Admin的主题化,现代和响应式Web界面
  • 兼容所有亚音速/音速/空气声波客户端。有关已测试客户端的列表,请参见下文
  • 即时转码。可以按用户/玩家设置。支持作品编码
  • 翻译成 17 种语言(包括中文)
  • 完全支持播放列表,可选择自动导入文件并使其保持同步.m3u
  • 智能/动态播放列表(类似于iTunes)。
  • Scrobbling to Last.fm, ListenBrainz and Maloja (通过自定义 ListenBrainz URL)
  • 共享专辑/歌曲/播放列表的公共链接
  • 反向代理身份验证

在这里插入图片描述

navidrome 的设计简约,服务器轻巧、快速、独立,体验感特别好,它没有广告,不需要隔断时间就扫码登录验证,不需要VIP,支持WEB在线播放,有浏览器的地方就可以使用,随时随地轻松获取,还可以建立歌单,常见个人专属的音乐库。

  • 官网:https://www.navidrome.org/
  • Github:https://github.com/navidrome/navidrome

3.2 Docker 环境搭建

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

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

使用snap命令安装docker

root@hcss-ecs-f632:~# snap install docker
docker 20.10.24 from Canonical✓ installed

测试docker安装是否成功

root@hcss-ecs-f632:~# docker -v
Docker version 20.10.24, build 297e128

检查docker服务状态

root@hcss-ecs-f632:~# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: 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.socketDocs: https://docs.docker.comMain PID: 30672 (dockerd)Tasks: 73Memory: 137.0MCPU: 2min 37.906sCGroup: /system.slice/docker.service

检查docker compose版本

root@hcss-ecs-f632:~# docker compose version
Docker Compose version v2.17.2

3.3 navidrome 部署

  • 下载镜像

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

root@hcss-ecs-f632:~# docker pull deluan/navidrome
Using default tag: latest
Pulling navidrome (deluan/navidrome:latest)...
latest: Pulling from deluan/navidrome
63b65145d645: Pull complete
aeb5bd14d375: Pull complete
4f4fb700ef54: Pull complete
8bc1516e399b: Pull complete
Digest: sha256:11a24da08977ebfa4a9a71f8c878d822ffaae74a019f274a75dc6386d523da86
Status: Downloaded newer image for deluan/navidrome:latest
docker.io/deluan/navidrome:latest
  • 配置安全组

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

在这里插入图片描述

  • 启动服务

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

version: "3"
services:navidrome:image: deluan/navidrome:latestuser: 1000:1000 # should be owner of volumesports:- "4533:4533"restart: unless-stoppedenvironment:# Optional: put your config options customization here. Examples:ND_SCANSCHEDULE: 1hND_LOGLEVEL: infoND_SESSIONTIMEOUT: 24hND_BASEURL: ""volumes:- "./data:/data"- "./music/folder:/music:ro"
  • volumes:映射容器内部文件路径到本地
  • ports:配置访问端口

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

另外还需要给 navidrome 数据卷文件夹修改权限,否组无法正常启动

# 给data、music文件夹修改权限
sudo chmod 777 -R data/
sudo chmod 777 -R music/
root@hcss-ecs-f632:~/navidrome# docker-compose up -d
Creating network "navidrome_default" with the default driver
Creating navidrome... done
  • 检查容器状态

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

root@hcss-ecs-f632:~/navidrome# docker ps
CONTAINER ID   IMAGE                                    COMMAND                  CREATED         STATUS                          PORTS                                                 NAMES
caed2acf15e3   deluan/navidrome:latest                  "/app/navidrome"         6 minutes ago   Restarting (1) 26 seconds ago                                                         navidrome_navidrome_1
  • 访问地址

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

  • 访问结果

在这里插入图片描述

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

3.4 navidrome 使用

创建管理员用户,输入用户名和密码,完成创建

在这里插入图片描述

点击右上角头像 - Personal - 个性化, 设置语言为简体中文

在这里插入图片描述

还支持多种主题风格

在这里插入图片描述

把音乐文件上传到数据卷music/folder文件夹下,我使用的MobaXterm终端支持SFTP文件传输,直接找到对应路径,将文件拖入即可

在这里插入图片描述

点击右上角折线图标,点击刷新,会自动扫描此目录下的音频文件。

在这里插入图片描述

并在所有中展示扫描到歌曲的信息,可以自由切换布局方式,网格或表格,还可以全局搜索音乐、筛选条件显示

在这里插入图片描述

点击歌曲,显示歌曲信息,支持在线播放、随机播放、下载、加入播放列表、音量调节、收藏、评分、歌词等功能。

在这里插入图片描述

还可以查看音乐的具体信息,这些信息都来自音频文件本身中

在这里插入图片描述

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

root@hcss-ecs-f632:~/navidrome# ls
data  docker-compose.yml  music
root@hcss-ecs-f632:~/navidrome#
  • data 即为数据库和配置文件目录
  • music即为音乐音频文件目录

navidrome 支持的音频转码格式

在这里插入图片描述

navidrome 目前仅支持从标签中读取未同步的歌词(没有时间戳),ID3 标签中的歌词要使用的标记是“USLT”,不支持常见的.lrc歌词文件。

USLT 并不是一个独立的文件或文件格式,而是音频文件中的一个 ID3 标签,用于存储歌词信息。ID3 标签是音频文件中包含元数据(如歌曲名、艺术家、专辑、歌词等)的一种标准化格式。

“USLT” 是 ID3 标签中的一种特定类型,全名是 “Unsynchronized Lyrics/Text Transcription”,用于存储歌词。在这个标签中,你可以将歌曲的歌词以文本的形式存储,但不包含时间戳信息,也就是不同步的歌词。

“.lrc” files are not (yet) supported, see #1421
The only thing that is supported currently, is reading unsynced lyrics (no timestamps) from tags.
Lyrics in ID3 tags shouldn’t go in a frame called “LYRICS”. The correct tag to use would be “USLT”.
See: https://docs.mp3tag.de/mapping/#unsyncedlyrics
As far as i can see, the PR that implemented #1379 can also cope with synced lyrics (timestamps), it will just ignore the timestamps and store them as they were unsynced lyrics.
Can you please try to tag a file with lyrics in the USLT tag and see if that works?

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

四、总结

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

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

navidrome 作为个人音乐流媒体服务器,但是却非常低的资源使用率,即使在简单的树莓派零和旧硬件设置上也能很好地运行,官方演示服务器托管主机上配置也不高:1 核处理器、512MB 内存、10GB 磁盘空间,个人使用非常流畅,华为云云耀云服务器L实例应对这种需求绰绰有余。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis的持久化消息队列

Redis Stream Redis Stream 是 Redis 5.0 版本新增加的数据结构。 Redis Stream 主要用于消息队列(MQ,Message Queue),Redis 本身是有一个 Redis 发布订阅 (pub/sub) 来实现消息队列的功能,但它有个缺点就是消息无法…

C++设计模式-生成器(Builder)

目录 C设计模式-生成器(Builder) 一、意图 二、适用性 三、结构 四、参与者 五、代码 C设计模式-生成器(Builder) 一、意图 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 二、…

三分钟学习一个python小知识8-----------我的对python中pandas的理解--补充,

文章目录 一、利用pandas读入excel表,包括csv,xlsx等格式二、利用pandas读取没有表头的表格1.引入库 三、利用pandas读取有表头的表格四、利用pandas读取表格中的第一列五、利用pandas导出为excel数据总结 一、利用pandas读入excel表,包括csv,xlsx等格式…

Django 模型层的操作(Django-05 )

一 模型层的解读 Django中内嵌了ORM框架,不需要直接编写SQL语句进行数据库操作,而是通过定义模型类,操作模型类来完成对数据库中表的增删改查和创建等操作。 O 是object,也就类对象的意思。R 是relation,翻译成中文是…

保险业SAP转型:奠定坚实的基础

保险业面临着许多新的挑战:从新的市场参与者到人工智能和物联网。如何在这种快节奏的现实中满足客户的需求,降低成本,加速增长?首先,让我们考虑一下数字化转型成功是什么样子的,以及如何实现它。在这篇文章…

基于微信小程序的付费自习室

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 1 简介2 技术栈3 需求分析3.1用户需求分析3.1.1 学生用户3.1.3 管理员用户 4 数据库设计4.4.1 E…

《计算机视觉中的多视图几何》笔记(13)

13 Scene planes and homographies 本章主要讲述两个摄像机和一个世界平面之间的射影几何关系。 我们假设空间有一平面 π \pi π,平面上的一点为 x π x_{\pi} xπ​。 x π x_{\pi} xπ​分别在两幅图像 P , P ′ P, P P,P′上形成了 x , x ′ x, x x,x′。 那…

[架构之路-225]:计算机硬件与体系结构 - 分类方法大汇总: RISC, CISC

目录 一、分类方法汇总 二、指令流和数据流的关系分类 三、Flynn 分类:指令并行处理 四、根据指令集架构(ISA)分类 4.1 分类 4.2 开源的RISC-V与封闭的RISC指令集架构比较 4.3 RISC-V的演进路径 4.4 RISC-V与中国芯片自研 4.4 五阶流…

Open X-Embodiment Robotic Learning Datasets and RT-X Models

文章目录 简介论文链接项目链接Reference 简介 为什么机器人技术远远落后于 NLP、视觉和其他 AI 领域?除其他困难外,数据短缺是罪魁祸首。谷歌 DeepMind 联合其他机构推出了 Open X-Embodiment 数据集,并训练出了能力更强的 RT-X 模型。 Dee…

WEB3 创建React前端Dapp环境并整合solidity项目,融合项目结构便捷前端拿取合约 Abi

好 各位 经过我们上文 WEB3 solidity 带着大家编写测试代码 操作订单 创建/取消/填充操作 我们自己写了一个测试订单业务的脚本 没想到运行的还挺好的 那么 今天开始 我们就可以开始操作我们前端 Dapp 的一个操作了 在整个过程中 确实是没有我们后端的操作 或者说 我们自己就…

【网站】让自己的个人主页能被Google检索

参考: https://zhuanlan.zhihu.com/p/129022264

容器内获得apiserver地址

1.容器的Env的KUBENETES_SERVICE_HOST字段 roottomcat01-69fc8f859b-w9btn:/tmp# env | grep KUBERNETES_SERVICE_HOST10.96.0.1 KUBERNETES_SERVICE_HOST10.96.0.12.通过域名查询 nslookup getent hosts roottomcat01-69fc8f859b-w9btn:/tmp# getent hosts kubernetes.def…

Python综合案例:学生管理系统

目录 需求说明: 功能: 创建入口函数: 实现菜单函数: 实现增删查操作: 1. 新增学生 2. 展示学生 3. 查找学生 4. 删除学生 加入存档读档: 1. 约定存档格式 2. 实现存档函数 3. 实现读档函数 打…

CentOS 7 上编译和安装 SQLite 3.9.0

文章目录 可能报错分析详细安装过程 可能报错分析 报错如下: django.core.exceptions.ImproperlyConfigured: SQLite 3.9.0 or later is required (found 3.7.17). 原因:版本为3.7.太低了,需要升级到3.9.0至少 详细安装过程 1.安装所需的…

六、vpp 流表+负载均衡

草稿!!! vpp node其实就是三个部分 1、plugin init 2、set command 3、function 实现功能,比如这里的流表 今天我们再用VPP实现一个流表的功能 一、流表 1.1流表----plugin init VLIB_REGISTER_NODE 注册流表节点 // 注册流…

window环境下Redis7服务器的安装和运行

一、readis7的下载 由于在官网上没有window版本的redis下载,需要到github中去搜索,以下以redis7为例介绍redis的下载 下载地址:https://github.com/zkteco-home/redis-windows 也可以到百度网盘下载 链接:https://pan.baidu.com…

算法导论笔记:桶排序 线性时间完成

P112 8.4桶排序 总能线性时间完成 桶排序概念: 桶排序(Bucket Sort)又称箱排序,是一种比较常用的排序算法。其算法原理是将数组分到有限数量的桶里,再对每个桶分别排好序(可以是递归使用桶排序,…

MATLAB算法实战应用案例精讲-【优化算法】沙丁鱼优化算法(SOA)(附MATLAB代码实现)

前言 沙丁鱼优化算法(Sardine optimization algorithm,SOA)由Zhang HongGuang等人于2023年提出,该算法模拟沙丁鱼的生存策略,具有搜索能力强,求解精度高等特点。 沙丁鱼主要以浮游生物为食,这些生物包括细菌、腔肠动物、软体动物、原生动物、十足目、幼小藤壶、鱼卵、甲藻…

笔记--总线舵机YB-SD15M--stm32

文章目录 前言一、官方文档的理解1.发送格式2.命令地址 二、控制文件1.c2.h 文件 前言 使用stm32控制这个总线舵机。 舵机为总线舵机。一定要配合控制板一起用,不然只使用stm32无法控制。 一、官方文档的理解 1.发送格式 发送格式如下,其中的指令类型…

linux入门---信号的理解

目录标题 如何理解计算机中的信号如何查看计算机中的信号初步了解信号的保存和发送如何向目标进程发送信号情景一:使用键盘发送信号情景二:系统调用发送信号情景三:硬件异常产生信号情景四:软件条件产生信号 核心转储信号的两个问…