阿里云 CentOS 6.5 服务器 建议选择香港服务器
一、安装turn server
mkdir /root/src
cd /root/src/
wget “http://turnserver.open-sys.org/downloads/v4.5.0.3/turnserver-4.5.0.3-CentOS6.6-x86_64.tar.gz”
tar zxvf turnserver-4.5.0.3-CentOS6.6-x86_64.tar.gz
cd turnserver-4.5.0.3
./install.sh
service turnserver start
chkconfig turnserver on
二、安装 Google App Engine SDK for Python
yum install -y https://centos6.iuscommunity.org/ius-release.rpm
yum install -y python27 python27-devel python27-libs python27-pip python27-setuptools python27-tools
mkdir -p /data/webrtc
cd /data/webrtc/
wget https://storage.googleapis.com/appengine-sdks/featured/google_appengine_1.9.40.zip
unzip google_appengine_1.9.40.zip
python2.7 /data/webrtc/google_appengine/dev_appserver.py
三、安装nodejs和grunt
curl –silent –location https://rpm.nodesource.com/setup_4.x | bash -
yum -y install nodejs
npm install -g grunt-cli
五、编译collidermain
yum install -y golang
cd /root/src
git clone https://github.com/webrtc/apprtc.git
mkdir -p /root/collider/src
cd /root/collider/src/
ln -sf /root/src/apprtc/src/collider/collider
ln -sf /root/src/apprtc/src/collider/collidermain
ln -sf /root/src/apprtc/src/collider/collidertest
export GOPATH=/root/collider/
cd /root/collider/
vim src/collider/collider.go #line 58 tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 },
go get collidermain
go install collidermain
ls -l bin
cp bin/collidermain /usr/local/bin
copy cert and key file to /cert/cert.pem /cert/key.pem
/usr/local/bin/collidermain -port 8089 -room-server https://webrtc.learndevops.cn -tls
nohup /usr/local/bin/collidermain -port 8089 -room-server https://webrtc.learndevops.cn -tls &
七、安装nginx服务
yum install -y https://centos6.iuscommunity.org/ius-release.rpm
yum install -y php70u-cli php70u-devel php70u-fpm php70u-fpm-nginx php70u-gd php70u-json php70u-mbstring php70u-mcrypt php70u-mysqlnd php70u-opcache php70u-pdo php70u-pecl-redis php70u-xml
vim /etc/php.ini #date.timezone = Asia/Shanghai
service php-fpm start
chkconfig php-fpm on
yum install -y nginx
cd /etc/nginx/conf.d/
mkdir backup
mv default.conf ssl.conf virtual.conf backup/
vim /etc/nginx/conf.d/webrtc.conf
#
upstream roomserver {
server 127.0.0.1:8080;
}
server {
listen 80 ;
server_name webrtc.learndevops.cn;
return 301 https://
servername
request_uri;
}
server {
listen 443 ;
ssl on;
ssl_certificate /cert/cert.pem;
ssl_certificate_key /cert/key.pem;
server_name webrtc.learndevops.cn;
access_log /var/log/nginx/webrtc.learndevops.log;
location / {
proxy_pass http://roomserver$request_uri;
proxy_set_header Host $host;
}
location ~ ^(.+\.php)(.*)$ {
root /data/www/api.learndevops.cn/current;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
}
}
#
service nginx start
chkconfig nginx on
八、配置ICEServer
mkdir -p /data/www/api.learndevops.cn/current/
vim /data/www/api.learndevops.cn/current/ice.php
mkdir -p /data/webrtc/
cd /data/webrtc/
git clone https://github.com/webrtc/apprtc.git
cd /data/webrtc/apprtc/
npm install –unsafe-perm
http_proxy=http://139.59.226.58:3128/ npm install –unsafe-perm
grunt build
cd /data/webrtc/apprtc/
vim src/app_engine/constants.py
#
ICE_SERVER_BASE_URL = ‘https://webrtc.learndevops.cn’
ICE_SERVER_URL_TEMPLATE = ‘%s/ice.php?key=%s’
ICE_SERVER_API_KEY = os.environ.get(‘ICE_SERVER_API_KEY’)
ICE_SERVER_API_KEY = ‘123456’
#
#
WSS_INSTANCES = [{
WSS_INSTANCE_HOST_KEY: ‘webrtc.learndevops.cn:8089’,
WSS_INSTANCE_NAME_KEY: ‘wsserver-std’,
WSS_INSTANCE_ZONE_KEY: ‘aliyun’
}]
#
grunt build
vim out/app_engine/js/apprtc.debug.js
comment line 2115
//window.history.pushState({“roomId”:roomId, “roomLink”:roomLink}, roomId, roomLink);
python2.7 /data/webrtc/google_appengine/dev_appserver.py /data/webrtc/apprtc/out/app_engine/