故障排除
常见问题和解决方案。
故障排除概览
数据库问题
数据库连接失败
问题:无法连接到数据库
解决方案:
1. 检查 MySQL 是否运行:sudo systemctl status mysql
2. 检查 .env 文件中的数据库凭据
3. 验证数据库是否存在:mysql -u root -p -e "SHOW DATABASES;"
4. 检查数据库用户权限
数据库迁移失败
问题:运行迁移脚本时出错
解决方案: 1. 检查数据库版本是否兼容 2. 检查迁移脚本语法 3. 查看错误日志 4. 手动执行 SQL 语句
网络问题
WebSocket 连接失败
问题:无法建立 WebSocket 连接
解决方案:
1. 检查后端服务是否运行
2. 检查 REACT_APP_SOCKET_URL 配置
3. 检查防火墙规则
4. 检查 CORS 配置
CORS 错误
问题:浏览器控制台显示 CORS 错误
解决方案:
1. 检查后端 CLIENT_URL 环境变量
2. 确保前端地址包含协议(https://)
3. 检查域名是否匹配
4. 检查 Nginx 配置(如果使用)
编译问题
Rust 编译错误
问题:cargo build 失败
解决方案:
1. 检查 Rust 版本:rustc --version
2. 更新 Rust:rustup update
3. 清理构建缓存:cargo clean
4. 检查依赖是否正确
前端构建错误
问题:npm run build 失败
解决方案:
1. 检查 Node.js 版本:node --version
2. 删除 node_modules 重新安装
3. 检查依赖版本冲突
4. 查看构建日志
运行时问题
端口已被占用
问题:服务启动失败,端口被占用
解决方案:
1. 查找占用端口的进程:lsof -i :5001
2. 停止占用端口的进程
3. 或更改 .env 中的 PORT
文件上传失败
问题:无法上传文件
解决方案: 1. 检查文件大小限制 2. 检查目录权限 3. 检查磁盘空间 4. Railway 需要配置 Volume
钱包问题
钱包连接失败
问题:无法连接钱包
解决方案: 1. 检查钱包扩展是否安装 2. 检查钱包是否解锁 3. 检查网络配置 4. 查看浏览器控制台错误
交易失败
问题:链上交易失败
解决方案: 1. 检查钱包余额 2. 检查 Gas 费用 3. 检查网络连接 4. 查看交易详情
性能问题
响应缓慢
问题:应用响应慢
解决方案: 1. 检查数据库连接池配置 2. 检查网络延迟 3. 检查服务器资源 4. 优化数据库查询
内存占用高
问题:服务器内存占用高
解决方案: 1. 检查连接数 2. 检查内存泄漏 3. 优化代码 4. 增加服务器内存
获取帮助
如果问题仍未解决:
- 查看 常见问题
- 查看 GitHub Issues
- 提交新的 Issue
- 联系维护者