使用NAS打造局域网高可用音乐平台

昨天早些时候,发现网易云死活上不去,虽然最后因为VPN代理的问题,终于解决连上了。突发奇想,如果用NAS构建一个局域网内的音乐系统来避免类似的事情呢?况且我们网易云VIP马上就没了,何不自己构建一个音乐平台?这样就可以实时备份自己喜欢的无损音乐了,而且不用担心会员过期。于是就有了这篇文章。讲真没有音乐的陪伴怎么能快乐的撸代码?

废话不多说,我们先来看个成品:

怎么样,效果还可以吧。其实它的原理相当简单,就是在本地搭个运行环境和数据库,然后对音乐做转储。

我们先来看看需要准备的东西吧:

  1. 一台 NAS(我这里装的是群晖 2T+2T做RAID 1,其中有1T的RAID 0做的ISCSI装游戏啥的)
  2. 一个路由器(为NAS固定访问IP)
  3. 一个音乐平台的源码(讲直接决定完成后的体验),我这里使用的是bemusic-v2.4.4的版本,这边给个下载链接 ,尊重版权如果商用请自行购买 。

万事大吉,接下来就是把他们拼起来了。思路是这样的,路由器固定IP – NAS固定一个访问端口 – NAS安装必要的运行环境(E.g.PHP7.2+MariaDB5) –  通过云服务器做端口转发。

第一步,路由器针对NAS固定IP

这个应该是我们最简单的一步了,群晖插上网线,然后找到Synology绑定内网资源池的IP即可,非常简单。

第二步, 配置NAS环境

这里我用的群晖,里面有自带的应用市场,所以操作非常简单。如果是其他牌子的NAS或者是自建的LINUX,可以选择使用yum或者apt-get来安装相关环境,反正就是PHP嘛,大家应该都不陌生。这里推荐大家使用apache,如果nginx的话需要在conf添加转发规则,apache可以直接使用 .htaccess,源码里面已经提供了。不过也看大家习惯了,省事儿要紧嘛。

群晖的话这里是这样的:

需要安装 Web Station,MariaDB,phpMyAdmin三个应用,然后打开Web Station,安装apache(群晖只能使用apache,否则需要通过SSH链接远程主机更改nginx的conf配置)。

配置大体如上图,我们的主要工程就完成了。

第三步,使用安装

在设置的文档路径下上传 bemusic-v2.4.4 下website文件夹内容,在同一VPC网络下访问我们刚刚所设置的端口号 E.g. http://192.168.1.105:66(根据自己固定的IP来),即可进入bemusic-v2.4.4安装程序,还是挺方便的那个web应用会帮助我们设置好所有的目录权限,执行权限啥的。

不过我们需要登陆phpMyAdmin,或者SSH给MariaDB创建一个使用账号和库,来安装整个程序的表结构。

整个安装非常简单,傻瓜式的,就不展开讲了。创建完成后我们即可登陆后台:

 

第四步,配置内网转发

这个我这边之前发过一个教程,就不再细说了,需要使用一台云服务器(推荐用腾讯云的很便宜)。感兴趣的同学可以去看看,内网穿透实用指南 – FRP+NAS 。

将我们内网固定的端口填好,然后用Root登陆NAS的远程终端,更新配置即可使用外网域名访问了。

这样,一个完全搭建在内网环境下的混合云音乐站点就完成了。我们可以下载全高清的无损音质,在内网/外网畅快听歌了。

希望这篇文章可以帮助到大家。