google webRTC服务器搭建(CentOS7.3)

原创 2017年05月17日 18:35:04

多余的科普我就不说了,这里有篇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)


重命名并解压
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,看个人喜好

CentOS7.3+Nginx+多个Tomcat服务器转发配置搭建笔记

配置多个tomcat转发 另附上tomcat启动慢的解决方案 需要在jdk下面修改一个配置 /usr/jdk/jdk1.7.0_80/jre/lib/security 找到java.security...

CentOS7.3搭建dhcp服务器

一、实验环境:VMware Workstation 12, CentOS 7.3 x64系统, CentOS 7.3 x64系统安装光盘二、实验过程:1.配置虚拟机软件的“虚拟网络编辑器”,将vmne...
  • miouqi
  • miouqi
  • 2017年07月24日 22:02
  • 1098

阿里云服务器(Centos7.3)搭建wordpress博客系统

windows下的wordpress连接最近免费体验了阿里云,领取了半年的云服务器ECS,附上链接https://free.aliyun.com/?spm=5176.8112568.738194.1....

在 远程服务器 无界面的centos 7.3安装matlab 2015b 附下载连接

原文连接 在无界面的centos安装matlab 本文安装的是 matlab R2015b 大概7.9个G左右. 下载链接 连接密码(ik4r) 使用的文件和其他linux有界面版本相同 安装之...

阿里云服务器配置开发环境第二章:Centos7.3安装jdk1.8以及环境配置

博主个人喜欢将工具安装到一个文件目录下以便于管理 1.切换到根目录并创建工具安装地址文件夹cd / md developer cd developer2.创建java文件目录并通过wget下载jdk...

CentOS7.3使用BIND配置DNS服务器(一)

一、DNS及BIND的简介&nbps;&nbps;&nbps;&nbps; DNS(Domain Name System),即域名系统。它使用层次结构的命名系统,将域名和IP地址相互映射,形成一个分布...
  • miouqi
  • miouqi
  • 2017年07月31日 11:00
  • 2091

Linux (CentOS 7.3) 下安装JAVA环境和Tomcat环境启动Tomcat服务器

登录Linux主机下载软件包上传软件包安装软件包配置环境变量配置防火墙规则重启防火墙配置出入站规则启动Tomcat服务器访问Tomcat服务器 本文以阿里云的Linux主机讲解     1. 通过远程...

阿里云服务器centos7.3上配置redis--sentinel等

1,先安装redis,可以通过yum命令安装解压,也可以在官网下载到本地,再传到服务器然后解压。我下载了redis3.2.11 2,本章主要介绍配置redis的主从、sentinel监听 通过cp...

阿里云服务器部署FTP服务(CentOS 7.3 64位,以vsftpd为例)

一、安装vsftpdyum -y install vsftpd 二、配置vsftpd的配置文件在/etc/vsftpd,其中vsftp.conf文件是住配置文件,打开如下:# Example conf...

Centos 7.3搭建LNMP环境

需求:在Centos7.3下搭建LNMP环境 1. 关闭防火墙和selinux打开文件selinuxvim /etc/sysconfig/selinux将文件中SELINUX=enforcing改为...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:google webRTC服务器搭建(CentOS7.3)
举报原因:
原因补充:

(最多只允许输入30个字)