turn服务器以及信令服务器的搭建

94 阅读1分钟

背景

作为前端er整个过程还是需要清楚了解的

需要准备的

  • 一台服务器
  • nginx知识
  • 服务端语言(本文选择了node.js)
  • JavaScript(WebRTC)

turn/stun 服务器搭建

选择start 较多的coturn

安装步骤

基本是Linux操作指令了

  • 安装
mkdir mycoturn
cd mycoturn
git clone https://github.com/coturn/coturn.git
cd coturn
./configure 
make 
make install
  • 检查
**which turnserver**
  • 配置文件
listening-device=eth0
relay-device=eth0
relay-ip=内网地址
listening-ip=内网地址
external-ip=外网地址
listening-port=3478
tls-listening-port=5349
user=name:password
pidfile="/var/run/turnserver.pid"
no-cli
lt-cred-mech
cert=/etc/turn_server_cert.pem
pkey=/etc/turn_server_pkey.pem
cli-password=password
//配置可用
  • cert和pkey配置的自签名证书用Openssl命令生成,生成的两个文件在/etc/目录下
openssl req -x509 -newkey rsa:2048 -keyout /etc/turn_server_pkey.pem -out /etc/turn_server_cert.pem -days 99999 -nodes
  • 启动

turnserver -L ip -o -a -b /etc/turnuserdb.conf -f -r -suzhou
// or
turnserver -o -a -f  -r suzhou

  • 防火墙设置
firewall-cmd --add-port=3478/tcp

  • 测试

使用webrtc官方地址

如图则表示成功

image.png

信令服务器

做一个数据信息的分发,类似于房间的概念,使用的node.js

部署

写完的服务需要在nginx上部署


 location /wss {
            proxy_pass http://127.0.0.1:3000; 
            proxy_read_timeout 60s;
            proxy_set_header Host $host;
            proxy_set_header X-Real_IP $remote_addr;
            proxy_set_header X-Forwarded-for $remote_addr;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';	
        }

在nginx中使用forever start server.js启动wss服务

image.png

小结

部署完成后就是webrtc的代码了,可以参考之前文章学习了解webrtc