Ubuntu部署mediasoup

  • 克隆项目:
gavin@gavin-vm:~/Documents$ git clone https://github.com/versatica/mediasoup-demo.git
gavin@gavin-vm:~/Documents$ cd mediasoup-demo
gavin@gavin-vm:~/Documents/mediasoup-demo$ sudo git checkout v3
  • 设置 mediasoup-demo server: 
gavin@gavin-vm:~/Documents/mediasoup-demo/server$ cd server
gavin@gavin-vm:~/Documents/mediasoup-demo/server$ npm install
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN checkPermissions Missing write access to /home/gavin/Documents/mediasoup-demo/server/node_modules
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! path /home/gavin/Documents/mediasoup-demo/server/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/home/gavin/Documents/mediasoup-demo/server/node_modules'
npm ERR!  [Error: EACCES: permission denied, access '/home/gavin/Documents/mediasoup-demo/server/node_modules'] {
npm ERR!   stack: 'Error: EACCES: permission denied, access ' +
npm ERR!     "'/home/gavin/Documents/mediasoup-demo/server/node_modules'",
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/home/gavin/Documents/mediasoup-demo/server/node_modules'
npm ERR! }
npm ERR! 
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR! 
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator (though this is not recommended).

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/gavin/.npm/_logs/2022-04-15T11_47_53_184Z-debug.log

参考npm install报错:npm ERR! Error: EACCES: permission denied.gy

<think>我们参考已有的引用内容,特别是引用[1][2][3]都与mediasoupUbuntu上的部署相关。用户要求详细步骤,因此我们需要整合这些引用中的关键信息,并按照逻辑顺序呈现。 引用[1]提到公网部署需要云主机、nginx配置、https配置,但用户当前问题聚焦在Ubuntu系统搭建,因此我们以内网部署为基础,同时提示公网部署的额外需求。 引用[2]和[3]提供了具体的步骤,包括环境准备、源码下载、依赖安装、配置修改等。 步骤规划: 1. 环境准备:系统要求(Ubuntu 18.04或更高)、安装必要的工具和依赖(如Node.js, Python, GCC等) 2. 获取mediasoup-demo源码 3. 安装依赖(服务端和客户端) 4. 配置修改(如配置文件、证书等) 5. 启动服务 同时,引用[3]中提到了在编译过程中可能遇到的依赖版本问题及解决方法,我们也需要包含这些关键点。 注意:引用[4]是关于Python数据收集的,与mediasoup部署无关,因此忽略。 由于用户指定Ubuntu系统,我们以Ubuntu 18.04为例(引用[3]的环境),但步骤也适用于其他版本。 详细步骤: </think>### Ubuntu系统搭建mediasoup详细步骤 #### 1. 环境准备 安装必要的系统依赖: ```bash sudo apt update sudo apt install -y git curl python3 python3-pip gcc g++ make ``` 安装Node.js(要求≥v16.0.0): ```bash curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt-get install -y nodejs sudo npm install -g yarn ``` 验证环境版本: ```bash node -v # 应显示v16.x或更高 python3 --version # 应显示≥3.7 gcc --version # 应显示≥8.0 ``` #### 2. 获取源码 克隆官方demo仓库: ```bash git clone https://github.com/versatica/mediasoup-demo.git cd mediasoup-demo ``` 切换到稳定分支(推荐): ```bash git checkout v3 ``` #### 3. 服务端配置 安装服务端依赖: ```bash cd server yarn install ``` 修改配置文件: ```bash cp config.example.js config.js nano config.js # 主要修改监听IP ``` 建议修改: ```js webRtcListenIps: [ { ip: "0.0.0.0", announcedIp: "你的公网IP" } // 公网部署时需指定 ] ``` #### 4. 客户端配置 编译前端页面: ```bash cd ../app yarn install ``` #### 5. 证书配置(HTTPS必需) 生成自签名证书: ```bash mkdir -p server/certs openssl req -newkey rsa:2048 -nodes -keyout server/certs/mediasoup.local.key -x509 -days 365 -out server/certs/mediasoup.local.crt ``` > 正式环境需替换为CA签发证书[^1] #### 6. 启动服务 启动信令服务器: ```bash cd server ./run.sh ``` 启动客户端服务: ```bash cd ../app yarn start ``` #### 7. 验证访问 浏览器打开:`https://localhost:3000`(首次需信任证书) --- ### 公网部署关键补充 1. **云主机配置**: - 开放TCP端口:`3443`(HTTPS), `UDP 10000-20000`(媒体传输) - 安全
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值