宝塔面板 Windows 版 · 完整部署指南
宝塔面板 →「网站」→「添加站点」
| 域名 | 你的域名或IP(本地测试用 127.0.0.1) |
|---|---|
| 根目录 | /storage/emulated/0/ometv |
| PHP版本 | 7.4 / 8.0 / 8.1 / 8.2 均可 |
| 数据库 | 先选「不创建」,后面手动建 |
http://127.0.0.1。宝塔面板 →「数据库」→「添加数据库」
| 数据库名 | ometv |
|---|---|
| 用户名 | ometv |
| 密码 | 自定义(如 OmeTV@2024)← 记下来 |
| 字符集 | utf8mb4 |
初始化表结构(二选一):
方法A — 浏览器访问:
浏览器打开:https://你的域名/config/init_db.php
看到 ✅ 数据库表创建成功! 即可。
config/init_db.php,防止被他人访问!方法B — 命令行:
cd /d D:\BtSoft\wwwroot\ometv php config\init_db.php
编辑 📄 config/database.php
define('DB_HOST', '127.0.0.1'); define('DB_NAME', 'ometv'); define('DB_USER', 'ometv'); define('DB_PASS', '你设置的密码'); // ← 改为第2步的密码 define('SITE_URL', 'https://你的域名.com');
再编辑 📄 js/app.js,修改第8行 WebSocket 地址:
WS_URL: 'wss://你的域名:8282', // ← 改为你的域名
wss://域名:8282(需放行端口)② wss://域名/ws/(Nginx代理,推荐)安装 Composer 依赖:
宝塔面板 → 软件商店 → 安装「Composer」→ 然后打开命令行:
:: 进入项目目录 cd /d D:\BtSoft\wwwroot\ometv :: 安装依赖 composer install
看到 Generating autoload files 即成功,此时项目下会出现 vendor/ 文件夹。
放行端口 8282:
| 宝塔面板 | 安全 → 防火墙 → 添加 8282 TCP |
|---|---|
| Windows 防火墙 | 控制面板 → 防火墙 → 高级设置 → 入站规则 → 端口 8282 TCP |
| 云服务器 | 安全组 → 添加入方向规则 → 8282 TCP |
前台启动(调试用):
cd /d D:\BtSoft\wwwroot\ometv php server.php start
成功输出:
----------------------- WORKERMAN ----------------------- Workerman version:4.1.x PHP version:7.4.x ------------------------ WORKERS ------------------------ worker listen processes status OmeTV-WebSocket websocket://0.0.0.0:8282 2 [OK]
看到 [OK] 即启动成功。Ctrl+C 停止。
后台运行:
php server.php start -d // 启动 php server.php status // 查看状态 php server.php stop // 停止 php server.php restart // 重启
-d 可能不生效,推荐用 nssm 注册为 Windows 服务。通过 Nginx 代理 WebSocket,复用 443 端口,无需额外开放 8282。
宝塔 → 网站 → 你的站点 →「配置文件」→ 在 server { } 中添加:
# WebSocket 代理 location /ws/ { proxy_pass http://127.0.0.1:8282; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_read_timeout 86400s; }
然后 js/app.js 中改为:WS_URL: 'wss://你的域名/ws/'
最后 重载 Nginx:宝塔首页 → Nginx → 重载配置。
| ① 网页 | 打开 https://你的域名/,看到毛玻璃欢迎页 |
|---|---|
| ② API | 访问 /api/index.php?action=online_count,返回 JSON |
| ③ WebSocket | F12 → Network → WS,点击匹配应有连接 |
| ④ 视频 | 两个浏览器窗口同时打开,点击匹配,能互见视频 |
① 检查是否使用 HTTPS(非 localhost 必须)
② 浏览器是否允许摄像头权限
③ 摄像头是否被其他应用占用
① php server.php status 确认 WS 服务运行中
② 检查防火墙是否放行 8282
③ F12 → Console 查看 WebSocket 连接错误
④ 确认 js/app.js 中 WS_URL 正确
① 双方 NAT 可能对称型,需 TURN 服务器中转
② 检查 peerConnection 的 ICE 状态(F12 → Console)
③ 生产环境建议部署 coturn TURN 服务器
① 确认 MySQL 服务已启动
② 检查 config/database.php 中密码是否正确
③ 宝塔面板中检查数据库用户权限
① 宝塔软件商店安装 Composer
② 或用完整路径:D:\BtSoft\composer\composer.phar install
| 前端 | 原生 HTML5 + CSS3(毛玻璃) + JavaScript(WebRTC API) |
|---|---|
| 信令服务 | PHP Workerman WebSocket(端口 8282) |
| 视频传输 | WebRTC P2P(浏览器直连,不经过服务器) |
| NAT 穿透 | Google STUN(开发用)/ 自建 TURN(生产用) |
| 数据库 | MySQL(用户、匹配记录、举报、消息) |
| 运行环境 | 宝塔 Windows 版 + Nginx + PHP 7.4+ |