Web环境搭建
- WebRCT在浏览器使用场景较多,因此基于原生的js编写更为顺手,所以使用node.js作为Web服务器。
- node.js版本升级迭代较为快速,版本较多,因此使用多版本管理工具nvm
安装nvm
wget https://github.com/creationix/nvm/archive/v0.34.0.tar.gz
./install.sh //获取安装脚本
source ~/.bash_profile //设置环境变量
nvm --version //查看版本
nvm list-remote //列出所有可安装的版本
nvm install v10.15.3 //安装相应的版本,这里安装的是v10.15.3
nvm ls //查看一下你当前已经安装的版本
nvm use v10.15 3 //切换版本
nvm alias default //设置默认版本
复制代码
安装第三模块
mkdir web
cd web
npm install express
复制代码
开启HTTPS
- 使用WebRTC需要调用多媒体摄像,需要更加严格的传输,因此必须使用HTTPS
申请证书
- 刚购买的域名会免费赠送一年https证书
- 进入证书控制台首页
- 申请验证
- 下载证书
解析域名
- 因为要解析IP,所以选择A记录类型
- 填写申请证书写的二级域名
- 记录值为服务器主机IP
上传证书
//上传证书
scp 2060073_juejin.shuxiaoda.com_other.zip root@shuxiaoda.com:/root/web/cert/
//进入目录
cd /root/web/cert
//安装unzip
yum install unzip
//解压证书
unzip 2060073_juejin.shuxiaoda.com_other.zip
复制代码
开启服务
var https = require('https'); //https模块
var fs = require('fs'); //读取文件模块
var express = require('express'); //开启web服务模块
//读取证书
options = {
key : fs.readFileSync('/cert/2016927_test.shuxiaoda.com.key'),
cert : fs.readFileSync('/cert/2016927_test.shuxiaoda.com.pem')
}
var https_server = https.createServer(options,app);
https_server.listen(443,'0.0.0.0'); //监听https默认443端口,绑定所有网卡
复制代码
测试WebRTC
- 在web目录下创建public文件夹
- 在public下创建index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>测试WebRTC</title>
</head>
<body>
<script>
//开启音频摄像头权限
navigator.mediaDevices.getUserMedia({audio: true, video: true});
</script>
</body>
</html>
复制代码
- 返回web目录下,启动index.js
- 在浏览器就你看到WebRTC调用摄像头权限了