多余的科普我就不说了,这里有篇CSDN的盗文,可以了解一下(关于 GAE,coTurn,Collider等等)

http://blog.csdn.net/bamboolsu/article/details/48446787
1 安装node.js环境
七牛云下载地址:https://resource.mumov.com/node-v6.9.2.tar.gz
wget url 下载
tar -zxvf   解压
yum install gcc gcc-c++  安装c++编译环境
指定nodejs安装路径
./configure --prefix=/usr/local/node
编译&安装
make 
make install 
配置node_home环境变量
vi /etc/profile
在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容:
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH
保存并编译该文件,使之生效
source /etc/profile
控制台输入 node -v 校验安装版本
命令行设置node使用国内源
npm --registry https://registry.npm.taobao.org info underscore
安装 grunt
npm install -g grunt-cli
安装forever
npm install forever -g
2 安装GoLang语言环境
go语言源码下载地址:https://golang.org/dl/
下载go语言包(已编译的)
wget https://storage.googleapis.com/golang/go1.8.1.linux-amd64.tar.gz
解压至 /usr/local/目录下
修改环境变量 /etc/profile
先创建go工作空间 mkdir $HOME/goWorkspace
创建go资源文件夹 mkdir $HOME/goWorkspace/src
export GOROOT=/usr/local/go
export GOPATH=$HOME/goWorkspace
export PATH=$PATH:$GOROOT/bin
编译生效 source /etc.profile


3升级python的版本 google app engine 要求2.7.9以后的
2.7.13七牛云下载地址 https://resource.mumov.com/Python-2.7.13.tar.xz
下载资源
wget https://resource.mumov.com/Python-2.7.13.tar.xz
解压资源
zx -d file_name
tar -xvf file_name
进入文件夹
创建新的文件夹防止覆盖原版
mkdir /usr/local/python2713
./configure --prefix=/usr/local/python2713
编译安装
make  
make install
备份旧版 使用新版
mv /usr/bin/python  /usr/bin/python_old
ln -s /usr/local/python2713/bin/python2.7 /usr/bin/python
现在输入python -V
Python 2.7.13
PS:要使用yum安装什么依赖包的话就提前安装,python升级后yum就不能使用了,不嫌麻烦也可以切换回来哈
4安装google app engine SDK
官网地址(有墙):https://cloud.google.com/sdk/docs/
七牛云下载地址:https://resource.mumov.com/google-cloud-sdk-155.0.0-linux-x86_64.tar.gz
下载 解压 不进入文件夹 
./google-cloud-sdk/install.s
./google-cloud-sdk/bin/gcloud init
安装python版google app engine
gcloud components install app-engine-python
gcloud components install app-engine-python-extras
5 部署信令服务器 collider
git 地址
https://github.com/webrtc/apprtc/tree/master/src/collider
先克隆到本地
git clone https://github.com/webrtc/apprtc.git

克隆完成后,先不要进入文件夹,先执行命令

ln -s `pwd`/apprtc/src/collider/collider $GOPATH/src
ln -s `pwd`/apprtc/src/collider/collidermain $GOPATH/src
ln -s `pwd`/apprtc/src/collider/collidertest $GOPATH/src
完成后 安装信令服务
go get collidermain

这里会被墙,可以通过修改/etc/hosts来翻墙,简单快捷,翻墙host git地址如下

https://github.com/racaljk/hosts/blob/master/hosts#L2
安装
go install collidermain

无证书启动

$GOPATH/bin/collidermain -port=8089 -tls=false

6 配置java runtime environment(JRE)
官方下载页:https://www.java.com/zh_CN/download/linux_manual.jsp
wget http://javadl.oracle.com/webapps/download/AutoDL?BundleId=220305_d54c1d3a095b4ff2b6607d096fa80163
重命名并解压
mv AutoDL\?BundleId\=220305_d54c1d3a095b4ff2b6607d096fa80163 java.tar.gz
tar -zxvf java.tar.gz 
将java拷贝到/usr/java中
mkdir /usr/java
cp -rfp jre1.8.0_131/ /usr/java
配置环境变量
export JAVA_HOME=/usr/java
export JRE_HOME=/usr/java/jre1.8.0_131
export CLASSPATH=$JRE_HOME/lib/rt.jar:$JRE_HOME/lib/ext
export PATH=$PATH:$JRE_HOME/bin
重编译 source /etc/profile
验证java
[root@iZ2371w9mhlZ jre1.8.0_131]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

7 部署appRTC房间服务器

进入 apprtc文件夹
npm install (这一步余姚jre支持,推荐使用国内源)
重新编译app engine
grunt build
启动服务
在/home/google-cloud-sdk/bin目录下执行
./dev_appserver.py --host localhost --port 80 --admin_host localhost /home/apprtc/out/app_engine
localhost修改为服务器外网ip
8 coTurn打洞(内网穿透)服务器部署
下载地址 http://turnserver.open-sys.org/downloads/v4.5.0.6/
七牛云下载地址:https://resource.mumov.com/turnserver-4.5.0.6-CentOS7.2-x86_64.tar.gz
下载安装包
wget http://turnserver.open-sys.org/downloads/v4.5.0.6/turnserver-4.5.0.6-CentOS7.2-x86_64.tar.gz
解压,进入目录
./install.sh
安装完成后
创建js项目coTurn.js
var express = require('express');
var crypto = require('crypto');
var app = express();
var hmac = function(key, content){
    var method = crypto.createHmac('sha1', key);
    method.setEncoding('base64');
    method.write(content);
    method.end();
    return method.read();
};
app.get('/turn'function(req, resp) {
var query = req.query;
var key = '4080218913'// 这里的 key 是事先设置好的, 与房间服务器的key相同
if (!query['username']) {
    return resp.send({'error':'AppError''message':'Must provide username.'});
else {
    var time_to_live = 600;
    var timestamp = Math.floor(Date.now() / 1000) + time_to_live;
    var turn_username = timestamp + ':' + query['username'];
    var password = hmac(key, turn_username);
    return resp.send({
        username:turn_username,
        password:password,
        ttl:time_to_live,
        "uris": [
            "turn:121.40.28.178:3478?transport=udp”,//改成自己的ip
            "turn:121.40.28.178:3478?transport=tcp",
            "turn:121.40.28.178:3479?transport=udp",
            "turn:121.40.28.178:3479?transport=tcp"
            ]
    });
}
});
app.listen('81'function(){
    console.log('server started');

});
安装express框架
nmp install express
守护进程启动 
forever start coTurn.js
另外 如果没做ssl支持,需要修改apprtc/out/app_engine下的 apprtc.py
wss=>ws
https=>http
如果没有ice,需要修改constants.py  将TURN 的注释去掉,写入自己的turn或者stun,注意python文件的格式
PS:可以部署NGINX服务器做代理,统一转发到内部端口,只对外暴露443或者80,看个人喜好

google webRTC服务器搭建(CentOS7.3)相关推荐

  1. p2p webrtc服务器搭建系列1: 房间,信令,coturn打洞服务器

    中继(relay) 在RTCPeeConnection中,使用ICE框架来保证RTCPeerConnection能实现NAT穿越 ICE,全名叫交互式连接建立(Interactive Connecti ...

  2. 使用Google云服务器搭建在线vscode

    严格来说不应该叫vscode,应该叫code-server 开源项目:https://github.com/linuxserver/docker-code-server Docker镜像:https: ...

  3. AppRTC(WebRTC)服务器搭建

    转自:https://www.jianshu.com/p/a19441034f17 前言 最近研究了几天 appr.tc 服务器的搭建,主要目的是想在本地搭建一套 webrtc 服务器环境,可以做一些 ...

  4. Webrtc服务器搭建(基于公网环境)

    webrtc服务器环境搭建 (基于公网环境) Last Modified Date: 2017/8/2 目录 1. 搭建平台 2. 软件安装 3. 搭建房间服务器(Room Server) 4. 搭建 ...

  5. WebRTC 服务器搭建篇

    First off All 服务器环境:采用的阿里云国内服务器,系统: Ubuntu 16.04 64位 . 各个服务所需要的编译环境图: 各个服务器对应所需编译平台 1.第一步,先更新下命令行工具, ...

  6. webRTC服务器搭建(基于Janus)与Demo运行

    原文网址:https://blog.csdn.net/newchenxf/article/details/110451532 转载请注明出处^^ 前言 2020年,直播带货不要太火,直播的方案基于啥? ...

  7. 验证google webrtc服务器demo(apprtc)使用的turn/stun服务器

    先说以下如何获得REST API编写的ICE Servers获取方法: curl -d "key=AIzaSyA2WoxRAjLTwrD7upuk9N2qdlcOch3D2wU" ...

  8. 服务器搭建 centos7.9配置系统(其他系统也可参照做以下 功能 的操作)

    目录 简介: 一 配置基础 1远程连接 2关闭防火墙 如果不成功 3 时间同步 3.1 自动同步时间 4 下载xshell进行远程连接 或者使用linux mac作为客户端jssh远程连接 5 域名映 ...

  9. WebRTC服务器搭建

    一. node环境搭建 yum install -y nodejs 二. 搭建 Coturn 1.1 Coturn环境 yum install -y openssl openssl-devel yum ...

最新文章

  1. C#到Java byte类型冲突的解决
  2. usleep延时0.毫秒_LabVIEW从0到1系列视频培训_第4讲全集_操作例程说明
  3. 安卓APP_ 控件(10)—— ListView可上下滑动的列表(重要)与ViewHolder优化
  4. 【牛客 - 551F】CSL 的神奇序列(推公式,猜结论,母函数)
  5. Nginx实现HTTP反向代理配置
  6. 1014.修改clion的工具链
  7. mysql远程连接打不开_MySql远程连接无法打开解决办法
  8. .NET : 自定义TraceListener
  9. 洛谷1966 火柴排队
  10. ‘module‘ object has no attribute ‘computation‘
  11. 人人都能看懂的量子力学——波动力学的建立过程
  12. 1005打印任务取消不了 hp_(完整版)hp打印机无法取消打印的文档解决方法
  13. png转icon java_原创 | Java图片处理:ico格式转 PNG/JPG等格式
  14. 考研杂谈一:计算机专业有必要考研吗?
  15. 牛客网ACM模式 JsV8和Java输入输出练习
  16. Ubuntu 下 LaTeX 图形环境的配置——使用Kile
  17. 微光集市-登陆后用户对购物车的操作(版本4.0)
  18. 某游戏客户流失情况数据分析
  19. python微信朋友圈刷图_10分钟用Python做个微信朋友圈抽奖九宫格
  20. MATLAB图像隐藏基础

热门文章

  1. 【金融量化分析】#期权相关定价方法与代码表达
  2. 海峡两岸大学生来闽 感慨传统与创新并存
  3. 铁道部12306网站如何设计
  4. python中异或怎么算_python 异或运算的前提_异或运算公式
  5. 生命在那一刻显得是那么地脆弱==记汶川地震时成都受波及后之全记录
  6. ubuntu安装命令汇总
  7. Arduino不能用usbasp下载的解决方法
  8. mac osx下配置apache
  9. 微信小程序给数组赋值的笔记
  10. 数据结构实验-图-普里姆算法、克鲁斯科尔算法