编辑
2024-05-11
我爱读书
00

目录

1. 准备工作📋
1.1 域名 🌐
1.2 Doker & Docker compose 📦
1.3 Nginx代理 🛡️
2. 音乐项目选择 💭
3. 部署 ⚙️
3.1 SPlayer
3.2 neteasecloudmusic_api
3.3 配置代理

splay.png 五一开车带着家人去旅游🚗,打开手机听歌🎵

然后一言难尽,反正服务器闲着,自己部署一个,这里做个记录,避免后人的坑;

1. 准备工作📋

1.1 域名 🌐

我之前申请了域名,在腾讯申请的,服务器是阿里云,在阿里云备案,拿到备案号,这步没什么坑,按照表单填写就行了,阿里也挺负责提交后有人打电话告诉你怎么填写,然后就通过了;

如果没有域名也有免费的域名(没试过)B站有教程;

然后去腾讯云域名管理添加二级域名: 控制台-我的域名-解析-记录管理-添加记录

图片.png

1.2 Doker & Docker compose 📦

  1. 安装docker
sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl start docker
  1. 安装 docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/{VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
  1. 默认网段

    可能会出现IP冲突的情况 占用 172 网段,需要配置默认的IP

    vi /etc/docker/daemon.json
    { "bip":"169.254.0.1/24" } //也可能是这个生效 { "bip":"169.254.0.1/24", "default-address-pools" : [ { "base" : "192.168.0.0/16", "size" : 24 } ] }

然后重启 docker systemctl restart docker

1.3 Nginx代理 🛡️

这里的选择也挺多,我选择了 nginx-proxy-manager-zh

这里有个教程 彻底搞懂反向代理神器Nginx Proxy Manager的配置和使用 尽量看一遍

mkdir -p /home/Nginx vim docker-compose.yml
version: '3' services: app: image: 'chishin/nginx-proxy-manager-zh:release' restart: always ports: - '80:80' - '81:81' - '443:443' volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt

这里注意 人家给的都是 docker-compose up -d 但我的服务器上是 docker compose 不知道为什么

docker compose up -d

nginx-proxy占用了80端口和443 端口,因为需要他SSL证书和代理;

安装完后按照教程配置SSL证书,非常方便就不截图了

2. 音乐项目选择 💭

我要选择一个支持doker部署(因为centos7比较老,本地编译会出问题),带收藏夹,手机端也可以用的

我分别部署测试了以下的项目,全部基于 NeteaseCloudMusicApi(违规已经不让维护了,千万不要去doker上搜🔍)

项 目               啰嗦
YesPlayMusic手机浏览没有适配,doker上 oaklight/yesplaymusic 这个比较新,支持 Last.fm,但是我就没成功过202110142354283.png
R3PLAYX手机端倒是可以看,登录WY后显示收藏,但是没有办法维护收藏,是YesPlayMusic的二开,颜值最高202312251127644.png
Radishes手机浏览没有适配home.jpg
SPlayer手机端适配,有收藏夹,可以操作收藏夹SPlayer - 主页面.jpg

然后发现这些项目docker内部的API都有问题,过期了,NeteaseCloudMusicApi 更新的比较快

最后选择了 SPlayer 手机适配完美,而且能操作收藏夹,有时候也会暂停,

3. 部署 ⚙️

3.1 SPlayer

还是 docker-compose.yml ,注意 7899是原始端口,2221 是暴漏端口

version: '3' services: splayer: image: imsyy/splayer container_name: splayer ports: - 2221:7899 restart: always

3.2 netease_cloud_music_api

docker pull binaryify/netease_cloud_music_api docker run -d -p 3001:3000 --name netease-music-api binaryify/netease_cloud_music_api

这里自己拉了一个netease_cloud_music_api,注意将服务器的3001端口开开,因为SPlayer接口基本都过期了,所有代理到 3001,

3.3 配置代理

域名代理 图片.png

因为 SPlayer 的内置API过期,这里需要转一下

图片.png

这里说下代理配置

#将当前代理/api/下的连接(就是 [:2221/api/...])转到 :3001 #如果 返回 404 就是 :3001/... 没通,就转到 @fallback(这里@fallback是一个配置块) location /api/ { proxy_pass http://XXX:3001/; proxy_intercept_errors on; error_page 404 = @fallback; } #@fallback配置块 转到这里说明没成功,就用原始的连接 即[:2221/api/...],:2221被域名代理了 location @fallback { proxy_pass https://XXX.top$request_uri; }
项目代理地址
YesPlayMusic/api/
R3PLAYX/netease/
SPlayer/api/

到这就结束了,手机扫码登录后,1分钟的歌就变成3分钟了,终于可以享受🥰持久带来的快乐了(实名羡慕)!


参考

彻底搞懂反向代理神器Nginx Proxy Manager的配置和使用

老苏的blog

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:没想好

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!