Files
Meshray-Manager/docs/运行指南.md
T
2026-06-30 15:14:37 +08:00

7.8 KiB
Raw Blame History

MeshRay 运行指南

更新时间: 2026-03-24
状态: 可以正常运行


🚀 快速启动

方式一:使用 go run(推荐)

# 在项目根目录执行
cd e:\Project\MeshRay
go run ./cmd/meshray

优点:

  • 不会被 Windows SmartScreen 拦截
  • 开发调试方便
  • 可以看到实时日志输出

访问地址: http://localhost:9531


方式二:运行编译后的 exe

# 直接运行
.\meshray.exe

如果遇到"应用程序控制策略已阻止此文件"

解决方案 1:右键解锁

  1. 右键点击 meshray.exe
  2. 选择"属性"
  3. 在底部勾选"解除锁定"
  4. 点击"确定"
  5. 再次运行

解决方案 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

解决方案:

  1. 查找占用端口的进程:
netstat -ano | findstr :9531
  1. 杀死占用端口的进程:
taskkill /F /PID <进程 ID>
  1. 或者修改配置端口: 编辑 configs/config.yaml:
server:
  port: 9532  # 改为其他端口

问题 2:数据库锁定

错误信息:

database is locked

解决方案:

  1. 停止应用

  2. 删除数据库锁文件:

rm data\*.db-shm
rm data\*.db-wal
  1. 重新启动应用

问题 3:前端资源找不到

错误信息:

open web/dist/index.html: The system cannot find the path specified.

解决方案:

  1. 重新编译前端:
cd web
npm run build
  1. 确保 dist 目录存在:
ls web/dist
  1. 重新编译后端:
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

访问: http://localhost:9531


2. 创建第一个组网

  1. 登录后进入 Dashboard
  2. 点击左侧菜单"组网管理"
  3. 点击"创建组网"按钮
  4. 填写组网信息:
    • 名称:例如"我的第一个网络"
    • 描述:可选
    • 策略:选择默认策略
  5. 点击"提交"

3. 添加设备

  1. 进入刚创建的组网详情
  2. 点击"添加设备"
  3. 填写设备信息:
    • 名称:例如"我的电脑"
    • IP 地址:自动分配或手动指定
  4. 点击"提交"
  5. 下载设备配置文件(.conf 文件)

4. 配置 WireGuard

Windows 客户端:

  1. 下载并安装 WireGuard: https://www.wireguard.com/install/
  2. 打开 WireGuard 客户端
  3. 点击"导入隧道"
  4. 选择刚才下载的 .conf 文件
  5. 点击"激活"按钮

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. 修改默认密码

首次登录后立即修改:

  1. 点击右上角用户头像
  2. 选择"个人信息"
  3. 修改密码
  4. 保存

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

访问:

前端会自动代理到后端:

  • 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 组网更简单!