# 服务部署汇总文档 ## 服务器信息 - **IP地址**:1.15.149.240 - **操作系统**:OpenCloudOS --- ## 服务总览 | 服务 | 用途 | 类型 | 端口 | 状态检查 | |------|------|------|------|----------| | **LiveKit** | 多人语音连麦 | Docker | 7880, 7881, 50000-50100 | `curl http://localhost:7880` | | **SRS** | 直播推流/拉流 | Docker | 25002, 25003, 1985 | `curl http://localhost:1985/api/v1/versions` | | **API Server** | 后端接口 | Docker | 25001 | `curl http://localhost:25001` | | **Coturn** | 视频通话中继 | 系统服务 | 3478 | `systemctl status coturn` | --- ## 快速检查所有服务 ```bash # 一键检查所有服务状态 echo "=== Docker 容器 ===" && docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" echo "" echo "=== Coturn 服务 ===" && systemctl is-active coturn echo "" echo "=== 端口监听 ===" && netstat -tlnp | grep -E "7880|1985|25001|25002|25003|3478" ``` --- ## 快速重启所有服务 ```bash # 重启所有Docker容器 docker restart livekit srs-server api-server # 重启Coturn systemctl restart coturn # 验证 docker ps systemctl status coturn ``` --- ## 服务详细文档 | 文档 | 说明 | |------|------| | [聊天室-LiveKit服务.md](聊天室-LiveKit服务.md) | 多人语音连麦房间 | | [直播-SRS和API服务.md](直播-SRS和API服务.md) | 直播推流拉流 | | [视频通话-TURN服务.md](视频通话-TURN服务.md) | 1对1视频通话中继 | --- ## 防火墙/安全组端口汇总 ### 必须开放的端口 | 协议 | 端口 | 服务 | 用途 | |------|------|------|------| | TCP | 7880 | LiveKit | HTTP API / WebSocket | | TCP | 7881 | LiveKit | WebRTC TCP | | UDP | 50000-50100 | LiveKit | WebRTC 媒体 | | TCP | 25001 | API Server | 后端接口 | | TCP | 25002 | SRS | RTMP 推流 | | TCP | 25003 | SRS | HTTP-FLV 播放 | | TCP | 1985 | SRS | SRS API | | TCP | 3478 | Coturn | TURN 控制 | | UDP | 3478 | Coturn | TURN 控制 | | UDP | 49152-65535 | Coturn | 媒体中继 | --- ## 在新服务器部署(完整流程) ### 1. 安装Docker ```bash curl -fsSL https://get.docker.com | sh systemctl enable docker systemctl start docker ``` ### 2. 部署LiveKit(语音连麦) ```bash mkdir -p /opt/livekit cat > /opt/livekit/livekit.yaml << 'EOF' port: 7880 rtc: port_range_start: 50000 port_range_end: 50100 use_external_ip: true keys: APIKey123456: YourSecretKey123456789012345678901234567890 logging: level: info EOF docker run -d \ --name livekit \ --restart always \ --network host \ -v /opt/livekit/livekit.yaml:/livekit.yaml \ livekit/livekit-server \ --config /livekit.yaml ``` ### 3. 部署直播服务(SRS + API Server) > ⚠️ **【重要】必须上传完整项目文件!** > > 直播服务的 API Server 需要完整的 `live-streaming` 项目代码才能运行, > **不能只创建配置文件**,必须将本地的 `live-streaming` 文件夹完整上传到服务器! #### 3.1 上传项目文件(必须) ```bash # 方式1:使用 scp 上传(推荐) scp -r live-streaming/ root@服务器IP:/opt/ # 方式2:使用 rsync 上传 rsync -av live-streaming/ root@服务器IP:/opt/live-streaming/ # 方式3:使用 FTP/SFTP 工具上传到 /opt/live-streaming/ ``` **需要上传的项目结构:** ``` live-streaming/ ├── server/ # ⭐ API服务代码(必须) │ ├── index.js # 主入口文件 │ ├── routes/ # 路由 │ ├── middleware/ # 中间件 │ └── utils/ # 工具函数 ├── docker/ │ └── srs/ │ └── srs.conf # SRS配置文件 ├── package.json # ⭐ Node.js依赖(必须) ├── Dockerfile # ⭐ Docker构建文件(必须) └── docker-compose.yml # Docker编排文件 ``` #### 3.2 构建API服务镜像 ```bash cd /opt/live-streaming # 构建Docker镜像 docker build -t live-streaming-api-server . ``` #### 3.3 启动SRS服务 ```bash docker run -d \ --name srs-server \ --restart always \ -p 25002:1935 \ -p 25003:8080 \ -p 1985:1985 \ -v /opt/live-streaming/docker/srs/srs.conf:/usr/local/srs/conf/srs.conf \ ossrs/srs:5 ``` #### 3.4 启动API服务 ```bash docker run -d \ --name api-server \ --restart always \ -p 25001:3001 \ -e PUBLIC_SRS_HOST=你的服务器IP \ -e PUBLIC_SRS_RTMP_PORT=25002 \ -e PUBLIC_SRS_HTTP_PORT=25003 \ -e SRS_HOST=你的服务器IP \ -e SRS_HTTP_PORT=1985 \ -e NODE_ENV=production \ live-streaming-api-server ``` ### 4. 部署Coturn(视频通话) ```bash # CentOS/OpenCloudOS yum install -y coturn # Ubuntu # apt install -y coturn cat > /etc/coturn/turnserver.conf << 'EOF' listening-port=3478 listening-ip=0.0.0.0 external-ip=你的公网IP realm=你的公网IP lt-cred-mech user=turnuser:TurnPass123456 log-file=/var/log/coturn/turnserver.log verbose simple-log no-tls no-dtls EOF mkdir -p /var/log/coturn systemctl enable coturn systemctl start coturn ``` ### 5. 开放防火墙端口 ```bash # firewalld firewall-cmd --permanent --add-port=7880/tcp firewall-cmd --permanent --add-port=7881/tcp firewall-cmd --permanent --add-port=50000-50100/udp firewall-cmd --permanent --add-port=25001/tcp firewall-cmd --permanent --add-port=25002/tcp firewall-cmd --permanent --add-port=25003/tcp firewall-cmd --permanent --add-port=1985/tcp firewall-cmd --permanent --add-port=3478/tcp firewall-cmd --permanent --add-port=3478/udp firewall-cmd --permanent --add-port=49152-65535/udp firewall-cmd --reload ``` ### 6. 验证所有服务 ```bash # LiveKit curl http://localhost:7880 # SRS curl http://localhost:1985/api/v1/versions # Coturn systemctl status coturn netstat -tlnup | grep 3478 ``` --- ## Android客户端配置 在 `android-app/local.properties` 中配置: ```properties # API服务器 api.base_url_emulator=http://10.0.2.2:8081/ api.base_url_device=http://你的服务器IP:25001/ # 直播/通话服务 live.server_host=你的服务器IP live.server_port=8083 # TURN服务器 turn.server_host=你的服务器IP turn.server_port=3478 ``` --- ## 注意事项 1. **生产环境安全**: - 修改LiveKit的API密钥 - 修改Coturn的用户名密码 - 配置HTTPS/WSS 2. **服务器配置建议**: - 最低配置:2核4G - 推荐配置:4核8G(支持更多并发) 3. **带宽要求**: - 直播:每路约2-3Mbps - 语音连麦:每人约100Kbps - 视频通话:每路约1-2Mbps