rebase
This commit is contained in:
493
本地部署指南.md
Executable file
493
本地部署指南.md
Executable file
@@ -0,0 +1,493 @@
|
||||
# 🚀 Meow Music Server - 本地部署指南
|
||||
|
||||
## 📋 系统要求
|
||||
|
||||
### 必需环境
|
||||
- **Go语言**: 1.19 或更高版本
|
||||
- **操作系统**: Windows / Linux / macOS
|
||||
- **浏览器**: Chrome / Firefox / Edge / Safari (现代浏览器)
|
||||
|
||||
### 可选工具(用于音频处理功能)
|
||||
- **FFmpeg**: 用于音频压缩和转换
|
||||
- **FFprobe**: 用于获取音频时长
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Windows 本地部署
|
||||
|
||||
### 步骤 1: 检查 Go 环境
|
||||
|
||||
打开命令提示符(CMD)或 PowerShell,检查 Go 是否已安装:
|
||||
|
||||
```bash
|
||||
go version
|
||||
```
|
||||
|
||||
**如果未安装 Go:**
|
||||
1. 访问 https://golang.org/dl/
|
||||
2. 下载 Windows 安装包
|
||||
3. 运行安装程序
|
||||
4. 重新打开终端验证安装
|
||||
|
||||
### 步骤 2: 进入项目目录
|
||||
|
||||
```bash
|
||||
cd d:\esp32-music-server\Meow\MeowEmbeddedMusicServer
|
||||
```
|
||||
|
||||
### 步骤 3: 安装依赖
|
||||
|
||||
```bash
|
||||
go mod tidy
|
||||
```
|
||||
|
||||
### 步骤 4: 配置环境变量(可选)
|
||||
|
||||
复制配置文件模板:
|
||||
```bash
|
||||
copy .env.example .env
|
||||
```
|
||||
|
||||
编辑 `.env` 文件(使用记事本或其他编辑器):
|
||||
```env
|
||||
# 服务器端口
|
||||
PORT=2233
|
||||
|
||||
# 网站信息
|
||||
WEBSITE_NAME_CN=我的音乐服务器
|
||||
WEBSITE_NAME_EN=My Music Server
|
||||
|
||||
# API 源(默认已配置,无需修改)
|
||||
API_SOURCES=kuwo
|
||||
API_SOURCES_1=netease
|
||||
API_SOURCES_2=migu
|
||||
API_SOURCES_3=baidu
|
||||
```
|
||||
|
||||
### 步骤 5: 启动服务器
|
||||
|
||||
**方式 1:使用启动脚本(推荐)**
|
||||
```bash
|
||||
start.bat
|
||||
```
|
||||
|
||||
**方式 2:手动启动**
|
||||
```bash
|
||||
go run .
|
||||
```
|
||||
|
||||
### 步骤 6: 访问应用
|
||||
|
||||
服务器启动后,在浏览器中访问:
|
||||
|
||||
- **新版用户界面**: http://localhost:2233/app
|
||||
- **经典界面**: http://localhost:2233/
|
||||
|
||||
### 步骤 7: 首次使用
|
||||
|
||||
1. 打开浏览器访问 http://localhost:2233/app
|
||||
2. 点击"注册"创建账户
|
||||
3. 填写用户名、邮箱和密码
|
||||
4. 注册成功后自动登录
|
||||
5. 开始搜索和收藏音乐!
|
||||
|
||||
---
|
||||
|
||||
## 🐧 Linux / macOS 部署
|
||||
|
||||
### 步骤 1: 检查 Go 环境
|
||||
|
||||
```bash
|
||||
go version
|
||||
```
|
||||
|
||||
**如果未安装:**
|
||||
```bash
|
||||
# Ubuntu/Debian
|
||||
sudo apt update
|
||||
sudo apt install golang-go
|
||||
|
||||
# macOS (使用 Homebrew)
|
||||
brew install go
|
||||
|
||||
# CentOS/RHEL
|
||||
sudo yum install golang
|
||||
```
|
||||
|
||||
### 步骤 2: 进入项目目录
|
||||
|
||||
```bash
|
||||
cd /path/to/MeowEmbeddedMusicServer
|
||||
```
|
||||
|
||||
### 步骤 3: 安装依赖
|
||||
|
||||
```bash
|
||||
go mod tidy
|
||||
```
|
||||
|
||||
### 步骤 4: 配置环境
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
nano .env # 或使用 vim/其他编辑器
|
||||
```
|
||||
|
||||
### 步骤 5: 启动服务器
|
||||
|
||||
```bash
|
||||
go run .
|
||||
```
|
||||
|
||||
或者后台运行:
|
||||
```bash
|
||||
nohup go run . > server.log 2>&1 &
|
||||
```
|
||||
|
||||
### 步骤 6: 访问应用
|
||||
|
||||
在浏览器中打开:
|
||||
- http://localhost:2233/app
|
||||
|
||||
---
|
||||
|
||||
## 🏗️ 生产环境部署
|
||||
|
||||
### 编译可执行文件
|
||||
|
||||
**Windows:**
|
||||
```bash
|
||||
go build -o meow-music-server.exe
|
||||
meow-music-server.exe
|
||||
```
|
||||
|
||||
**Linux/macOS:**
|
||||
```bash
|
||||
go build -o meow-music-server
|
||||
./meow-music-server
|
||||
```
|
||||
|
||||
### 使用 systemd 服务(Linux)
|
||||
|
||||
创建服务文件 `/etc/systemd/system/meow-music.service`:
|
||||
|
||||
```ini
|
||||
[Unit]
|
||||
Description=Meow Music Server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=your_username
|
||||
WorkingDirectory=/path/to/MeowEmbeddedMusicServer
|
||||
ExecStart=/path/to/MeowEmbeddedMusicServer/meow-music-server
|
||||
Restart=on-failure
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
启动服务:
|
||||
```bash
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl start meow-music
|
||||
sudo systemctl enable meow-music
|
||||
```
|
||||
|
||||
查看状态:
|
||||
```bash
|
||||
sudo systemctl status meow-music
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🌐 局域网访问配置
|
||||
|
||||
### 步骤 1: 找到本机 IP 地址
|
||||
|
||||
**Windows:**
|
||||
```bash
|
||||
ipconfig
|
||||
```
|
||||
查找 "IPv4 地址",例如:192.168.1.100
|
||||
|
||||
**Linux/macOS:**
|
||||
```bash
|
||||
ifconfig
|
||||
# 或
|
||||
ip addr show
|
||||
```
|
||||
|
||||
### 步骤 2: 修改 .env 配置
|
||||
|
||||
```env
|
||||
WEBSITE_URL=http://192.168.1.100:2233
|
||||
EMBEDDED_WEBSITE_URL=http://192.168.1.100:2233
|
||||
```
|
||||
|
||||
### 步骤 3: 防火墙设置
|
||||
|
||||
**Windows 防火墙:**
|
||||
1. 控制面板 → Windows Defender 防火墙
|
||||
2. 高级设置 → 入站规则 → 新建规则
|
||||
3. 选择"端口" → TCP → 特定本地端口 → 2233
|
||||
4. 允许连接 → 完成
|
||||
|
||||
**Linux (UFW):**
|
||||
```bash
|
||||
sudo ufw allow 2233/tcp
|
||||
sudo ufw reload
|
||||
```
|
||||
|
||||
### 步骤 4: 其他设备访问
|
||||
|
||||
在同一局域网的其他设备浏览器中访问:
|
||||
```
|
||||
http://192.168.1.100:2233/app
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📁 目录结构说明
|
||||
|
||||
部署后的目录结构:
|
||||
|
||||
```
|
||||
MeowEmbeddedMusicServer/
|
||||
├── main.go # 主程序入口
|
||||
├── user.go # 用户认证模块
|
||||
├── playlist.go # 歌单管理
|
||||
├── api.go # 音乐搜索API
|
||||
├── helper.go # 工具函数
|
||||
├── struct.go # 数据结构
|
||||
├── go.mod # Go依赖配置
|
||||
├── .env # 环境配置(需创建)
|
||||
├── start.bat # Windows启动脚本
|
||||
│
|
||||
├── theme/ # 前端界面
|
||||
│ ├── music-app.html # 新版用户界面
|
||||
│ └── index.html # 经典界面
|
||||
│
|
||||
├── files/ # 数据存储目录(自动创建)
|
||||
│ ├── users.json # 用户数据
|
||||
│ ├── user_playlists.json # 用户歌单
|
||||
│ └── playlists.json # 全局歌单(兼容)
|
||||
│
|
||||
└── cache/ # 音乐缓存(自动创建)
|
||||
└── music/ # 下载的音乐文件
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔍 故障排除
|
||||
|
||||
### 问题 1: 端口被占用
|
||||
|
||||
**错误信息**: `bind: address already in use`
|
||||
|
||||
**解决方法**:
|
||||
|
||||
**Windows:**
|
||||
```bash
|
||||
# 查看占用端口的进程
|
||||
netstat -ano | findstr :2233
|
||||
|
||||
# 结束进程(替换PID)
|
||||
taskkill /PID <进程ID> /F
|
||||
```
|
||||
|
||||
**Linux/macOS:**
|
||||
```bash
|
||||
# 查看占用端口的进程
|
||||
lsof -i :2233
|
||||
|
||||
# 结束进程
|
||||
kill -9 <PID>
|
||||
```
|
||||
|
||||
或者修改 `.env` 文件使用其他端口:
|
||||
```env
|
||||
PORT=3000
|
||||
```
|
||||
|
||||
### 问题 2: 无法访问页面
|
||||
|
||||
**检查清单**:
|
||||
- [ ] 服务器是否正常启动?
|
||||
- [ ] 浏览器地址是否正确?
|
||||
- [ ] 防火墙是否允许端口访问?
|
||||
- [ ] 端口号是否正确(默认2233)?
|
||||
|
||||
### 问题 3: 依赖下载失败
|
||||
|
||||
**错误信息**: `go: downloading ... failed`
|
||||
|
||||
**解决方法**:
|
||||
|
||||
设置 Go 代理(中国大陆用户):
|
||||
```bash
|
||||
# Windows PowerShell
|
||||
$env:GOPROXY="https://goproxy.cn,direct"
|
||||
|
||||
# Windows CMD
|
||||
set GOPROXY=https://goproxy.cn,direct
|
||||
|
||||
# Linux/macOS
|
||||
export GOPROXY=https://goproxy.cn,direct
|
||||
```
|
||||
|
||||
永久设置:
|
||||
```bash
|
||||
go env -w GOPROXY=https://goproxy.cn,direct
|
||||
```
|
||||
|
||||
### 问题 4: 找不到 .env 文件
|
||||
|
||||
**解决方法**:
|
||||
|
||||
如果 `.env` 文件不存在,服务器会使用默认配置。可以手动创建:
|
||||
|
||||
```bash
|
||||
# Windows
|
||||
copy .env.example .env
|
||||
|
||||
# Linux/macOS
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
### 问题 5: 搜索不到音乐
|
||||
|
||||
**可能原因**:
|
||||
- API源暂时不可用
|
||||
- 网络连接问题
|
||||
- 歌曲名称输入错误
|
||||
|
||||
**解决方法**:
|
||||
1. 检查网络连接
|
||||
2. 尝试不同的歌曲名称
|
||||
3. 等待片刻后重试
|
||||
4. 查看服务器日志确认API响应
|
||||
|
||||
---
|
||||
|
||||
## 📊 性能优化
|
||||
|
||||
### 1. 编译优化
|
||||
|
||||
```bash
|
||||
# 编译时优化
|
||||
go build -ldflags="-s -w" -o meow-music-server
|
||||
```
|
||||
|
||||
### 2. 缓存目录
|
||||
|
||||
定期清理 `cache/` 目录中的旧文件,避免占用过多磁盘空间。
|
||||
|
||||
### 3. 数据备份
|
||||
|
||||
定期备份 `files/` 目录:
|
||||
```bash
|
||||
# Windows
|
||||
xcopy /E /I files files_backup
|
||||
|
||||
# Linux/macOS
|
||||
cp -r files files_backup
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔒 安全建议
|
||||
|
||||
### 1. 修改默认端口
|
||||
|
||||
编辑 `.env` 文件:
|
||||
```env
|
||||
PORT=8080 # 使用非默认端口
|
||||
```
|
||||
|
||||
### 2. 使用强密码
|
||||
|
||||
注册时使用:
|
||||
- 至少8个字符
|
||||
- 包含大小写字母
|
||||
- 包含数字和特殊字符
|
||||
|
||||
### 3. 局域网隔离
|
||||
|
||||
如果仅本机使用,不要配置局域网访问。
|
||||
|
||||
### 4. 定期更新
|
||||
|
||||
```bash
|
||||
git pull origin main
|
||||
go mod tidy
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📞 获取帮助
|
||||
|
||||
### 遇到问题?
|
||||
|
||||
1. **查看日志**: 服务器启动后的控制台输出
|
||||
2. **检查文档**: 阅读 `USER_SYSTEM_README.md`
|
||||
3. **社区支持**: 喵波音律-音乐家园QQ群:865754861
|
||||
4. **GitHub Issues**: 在项目仓库提交问题
|
||||
|
||||
### 常用命令
|
||||
|
||||
```bash
|
||||
# 查看Go版本
|
||||
go version
|
||||
|
||||
# 查看项目依赖
|
||||
go list -m all
|
||||
|
||||
# 清理编译缓存
|
||||
go clean -cache
|
||||
|
||||
# 重新下载依赖
|
||||
go mod download
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ 部署检查清单
|
||||
|
||||
部署前请确认:
|
||||
|
||||
- [ ] Go 已安装(1.19+)
|
||||
- [ ] 项目代码已下载
|
||||
- [ ] 依赖已安装(go mod tidy)
|
||||
- [ ] .env 文件已配置(可选)
|
||||
- [ ] 端口 2233 未被占用
|
||||
- [ ] 防火墙允许端口访问
|
||||
- [ ] 浏览器版本较新
|
||||
|
||||
部署后验证:
|
||||
|
||||
- [ ] 服务器成功启动
|
||||
- [ ] 可以访问 http://localhost:2233/app
|
||||
- [ ] 可以注册新用户
|
||||
- [ ] 可以搜索音乐
|
||||
- [ ] 可以创建歌单
|
||||
- [ ] 可以播放音乐
|
||||
|
||||
---
|
||||
|
||||
## 🎉 开始使用
|
||||
|
||||
部署完成后,按照以下步骤开始:
|
||||
|
||||
1. ✅ 访问 http://localhost:2233/app
|
||||
2. ✅ 注册您的账户
|
||||
3. ✅ 搜索喜欢的音乐
|
||||
4. ✅ 创建个人歌单
|
||||
5. ✅ 享受音乐!
|
||||
|
||||
---
|
||||
|
||||
**祝您使用愉快!** 🎵✨
|
||||
|
||||
有问题随时查看文档或联系社区支持!
|
||||
Reference in New Issue
Block a user