7.8 KiB
7.8 KiB
MeshRay 运行指南
更新时间: 2026-03-24
状态: ✅ 可以正常运行
🚀 快速启动
方式一:使用 go run(推荐)
# 在项目根目录执行
cd e:\Project\MeshRay
go run ./cmd/meshray
优点:
- ✅ 不会被 Windows SmartScreen 拦截
- ✅ 开发调试方便
- ✅ 可以看到实时日志输出
访问地址: http://localhost:9531
方式二:运行编译后的 exe
# 直接运行
.\meshray.exe
如果遇到"应用程序控制策略已阻止此文件":
解决方案 1:右键解锁
- 右键点击
meshray.exe - 选择"属性"
- 在底部勾选"解除锁定"
- 点击"确定"
- 再次运行
解决方案 2:使用数字证书签名
需要购买代码签名证书对 exe 进行签名(适合生产环境)
解决方案 3:临时禁用 SmartScreen
不推荐,会降低系统安全性
✅ 验证运行状态
成功启动的标志
MeshRay v2.0.0 - Starting...
✅ 配置加载成功
✅ 日志系统初始化成功
正在连接数据库...
✅ 数据库初始化成功
正在初始化管理员账户...
✅ 管理员账户已存在(用户名:admin)
正在初始化管理策...
✅ 默认策略初始化成功
🚀 正在启动 MeshRay...
🌐 MeshRay 启动成功!
📍 访问地址:http://localhost:9531
💡 提示:请在浏览器中打开上述地址访问管理面板
检查服务是否正常
1. 访问登录页面
http://localhost:9531
应该看到登录界面
2. 健康检查接口
curl http://localhost:9531/health
预期响应:
{
"status": "ok"
}
3. 测试 API
# 获取统计数据(需要先登录)
curl http://localhost:9531/api/v1/dashboard/stats
🔧 常见问题解决
问题 1:端口被占用
错误信息:
bind: address already in use
解决方案:
- 查找占用端口的进程:
netstat -ano | findstr :9531
- 杀死占用端口的进程:
taskkill /F /PID <进程 ID>
- 或者修改配置端口:
编辑
configs/config.yaml:
server:
port: 9532 # 改为其他端口
问题 2:数据库锁定
错误信息:
database is locked
解决方案:
-
停止应用
-
删除数据库锁文件:
rm data\*.db-shm
rm data\*.db-wal
- 重新启动应用
问题 3:前端资源找不到
错误信息:
open web/dist/index.html: The system cannot find the path specified.
解决方案:
- 重新编译前端:
cd web
npm run build
- 确保 dist 目录存在:
ls web/dist
- 重新编译后端:
go build -o meshray.exe ./cmd/meshray
问题 4:托盘图标错误
错误信息:
ERROR systray: Unable to set icon
说明:
- ⚠️ 这是 Windows 11 的已知问题
- ✅ 不影响功能使用
- ✅ 可以安全忽略
解决方案(可选):
如果不想看到这个错误,可以在 internal/tray/tray.go 中注释掉设置图标的代码。
📊 运行日志示例
正常启动日志
2026-03-24T10:30:00.000+0800 INFO api/server.go:150 MeshRay v2.0.0 - Starting...
2026-03-24T10:30:00.001+0800 INFO config/config.go:45 ✅ 配置加载成功
2026-03-24T10:30:00.002+0800 INFO logging/zap.go:30 ✅ 日志系统初始化成功
2026-03-24T10:30:00.003+0800 INFO store/sqlite.go:78 正在连接数据库...
2026-03-24T10:30:00.010+0800 INFO store/sqlite.go:85 ✅ 数据库初始化成功
2026-03-24T10:30:00.011+0800 INFO service/user.go:50 正在初始化管理员账户...
2026-03-24T10:30:00.015+0800 INFO service/user.go:65 ✅ 管理员账户已存在(用户名:admin)
2026-03-24T10:30:00.016+0800 INFO service/policy.go:40 正在初始化管理策...
2026-03-24T10:30:00.020+0800 INFO service/policy.go:55 ✅ 默认策略初始化成功
2026-03-24T10:30:00.021+0800 INFO api/server.go:200 🚀 正在启动 MeshRay...
2026-03-24T10:30:00.025+0800 INFO api/server.go:210 🌐 MeshRay 启动成功!
2026-03-24T10:30:00.026+0800 INFO api/server.go:211 📍 访问地址:http://localhost:9531
2026-03-24T10:30:00.027+0800 INFO api/server.go:212 💡 提示:请在浏览器中打开上述地址访问管理面板
🎯 首次使用
1. 登录系统
默认管理员账户:
- 用户名:
admin - 密码:
admin123
2. 创建第一个组网
- 登录后进入 Dashboard
- 点击左侧菜单"组网管理"
- 点击"创建组网"按钮
- 填写组网信息:
- 名称:例如"我的第一个网络"
- 描述:可选
- 策略:选择默认策略
- 点击"提交"
3. 添加设备
- 进入刚创建的组网详情
- 点击"添加设备"
- 填写设备信息:
- 名称:例如"我的电脑"
- IP 地址:自动分配或手动指定
- 点击"提交"
- 下载设备配置文件(.conf 文件)
4. 配置 WireGuard
Windows 客户端:
- 下载并安装 WireGuard: https://www.wireguard.com/install/
- 打开 WireGuard 客户端
- 点击"导入隧道"
- 选择刚才下载的
.conf文件 - 点击"激活"按钮
Linux 客户端:
# 复制配置文件
sudo cp your-network.conf /etc/wireguard/
# 启动 WireGuard
sudo wg-quick up your-network
# 查看状态
sudo wg show
📈 性能监控
查看系统状态
访问 Dashboard 可以看到:
- ✅ 组网数量统计
- ✅ 设备在线状态
- ✅ CPU/内存/磁盘使用率
- ✅ 网络流量监控
- ✅ 最近日志
查看日志
方法 1: 通过 Web 界面
- 访问
/settings/logs
方法 2: 查看日志文件
# 日志文件位置
logs\meshray.log
方法 3: 实时日志输出
# go run 模式下会自动输出到终端
🔐 安全建议
1. 修改默认密码
首次登录后立即修改:
- 点击右上角用户头像
- 选择"个人信息"
- 修改密码
- 保存
2. 配置 HTTPS(生产环境)
编辑 configs/config.yaml:
server:
https:
enabled: true
cert_file: /path/to/cert.pem
key_file: /path/to/key.pem
3. 配置防火墙
Windows:
# 允许 9531 端口
New-NetFirewallRule -DisplayName "MeshRay" -Direction Inbound -LocalPort 9531 -Protocol TCP -Action Allow
Linux:
sudo ufw allow 9531/tcp
🛠️ 开发模式
前后端同时开发
终端 1 - 后端:
cd e:\Project\MeshRay
go run ./cmd/meshray
终端 2 - 前端:
cd e:\Project\MeshRay\web
npm run dev
访问:
- 后端 API: http://localhost:9531
- 前端开发服务器:http://localhost:5173
前端会自动代理到后端:
vite.config.js中已配置代理- 所有
/api/*请求会转发到后端
📝 总结
推荐运行方式
| 场景 | 方式 | 命令 |
|---|---|---|
| 开发调试 | go run | go run ./cmd/meshray |
| 生产部署 | 编译 exe | go build -o meshray.exe |
| 快速测试 | go run | go run ./cmd/meshray |
关键信息
- ✅ 默认端口: 9531
- ✅ 默认账户: admin / admin123
- ✅ 数据库位置:
data/meshray.db - ✅ 日志位置:
logs/meshray.log - ✅ 配置文件:
configs/config.yaml
运行状态: ✅ 可以正常访问
访问地址: http://localhost:9531
下一步: 在浏览器中打开上述地址开始使用!🚀
MeshRay - 让 P2P 组网更简单! ✨